MacとWindowsで文字化けゼロ!KenSのやさしい解決ガイド

※本ページにはプロモーション(広告)が含まれています。
MacとWindowsで文字化けゼロ!KenSのやさしい解決ガイド

Macで作った資料をWindowsに送ったら文字化けだらけになり、直したいのに何から手を付ければいいか迷っていませんか?

ここではエンジニアの現場で培った実体験を基に、メール本文が記号に化ける例、ZIP展開でファイル名が???になる例、Gitログが読めなくなる例まで、場面ごとに安全な文字コード変換の手順と頼れるツールを丁寧に示し、試行錯誤の時間を丸ごと削減できます。

肩の力を抜きつつページを開きながら、今抱えているトラブルに一番近い章から手を動かしてみてください。作業が終わる頃にはMacとWindowsの往復作業を安心してこなせる自信が自然と湧き、共有作業にも余裕が生まれます。

目次

MacとWindowsの文字化けをスルッと直すやさしいステップ

MacとWindowsの文字化けをスルッと直すやさしいステップ

同じテキストをMacで書いてWindowsで開くと文字化けが起きやすい…そんな経験はありませんか?文字コードが合っていないと「あれ?なんで読めないの…」と手が止まります。でも安心してください。いくつかのコツでサクッと直せます。

  1. UTF-8に統一:まずはファイル自体をUTF-8で保存しておくとトラブル激減
  2. エディタ設定を見直し:VSCodeなどでデフォルト文字コードをUTF-8に固定
  3. iconv/nkfで変換:ターミナルから手軽にエンコーディングを切り替え
  4. BOM付きなし調整:Windows用にBOMを付けたり外したり試してみる
  5. .gitattributes活用:Gitコミット時に自動変換を仕込んでおく

この5つを押さえれば文字化けの大半がスルッと解消します。次からは具体的な手順でひとつずつ進めていきましょう。

メール本文が読めないとき

メール本文が読めないとき

文字化けしたメール本文はメールクライアントの文字コード切り替えで読みやすくなります。Macのメール.appやWindowsのOutlook、Thunderbirdには表示メニューから手動で文字コードを指定できる便利な機能があります。

この方法は追加のソフトを入れず済むので、本文だけ直したいときにぴったりです。プログラマーならではのコツとしては、送信元の環境を想像しながら文字コードを順番に試すと、どれが合うかすぐわかります。

試すべき文字コード
  • UTF-8:国際的に最も標準的な文字コード
  • ISO-2022-JP:古いメールシステムで使われやすい日本語用
  • Shift_JIS:Windows環境で送られてくることが多い

①受信したメールを選択してエンコーディングを確認する

手順
受信メールのエンコーディングをチェック

メールアプリを開いて、文字化けが気になる受信メールをクリックで選択してください。

メニューバーからMail:表示→テキストエンコーディングまたはOutlook:メッセージ→その他の操作→エンコーディングを開いて、現在の文字コードを確認します。

②表示メニューからメッセージエンコーディングを変更する

手順
②表示メニューからメッセージエンコーディングを変更する

まず文字化けしているメールを選択して、内容が表示されるようにします。

画面上部のメニューバーから表示をクリックします。

メッセージエンコーディングにカーソルを合わせると、サブメニューが出てきます。

日本語メールなら日本語(ISO 2022-JP)、UTF-8で送られている場合はUnicode(UTF-8)を選びます。

選んだらウィンドウが自動で再レンダリングされ、文字化けがスルッと直っています。

メールの種類によってはHTML形式の文字コード指定が別途必要になる場合があります。

③自動に戻して再読み込みで文字化けが解消されることを確認する

手順
自動検出に戻してページを再読み込み

ブラウザの文字コード設定を「自動検出」に戻します。Safariならメニューバーの表示→テキストエンコーディング→自動検出を選んでください。

そのあと⌘+Rキーでページを再読み込みします。文字化けが消えていれば完了です。

ファイル名が???になるとき

ファイル名が???になるとき

MacからWindowsへファイルを渡したとき、ファイル名が「???」になって中身を探せなくなることがある。この原因はMacが標準で使うUTF-8とWindowsのCP932(Shift_JIS系)の食い違いだ。

ここで紹介するのはHomebrewで導入できる「convmv」を使った方法だ。無料でサクッと試せて、一度に多数のファイル名をまとめてWindows対応の文字コードに変えられる。大量の写真やドキュメントをやり取りするときに特に頼りになる手軽さが魅力だ。

①ターミナルを開いてls-lで文字化けしているかを確認する

まずはターミナルを使ってファイル名に文字化けが起きているかどうかを調べます。焦らずにひとつずつ進めてください。

手順
ターミナルを起動する

LaunchpadやSpotlightで「ターミナル」と入力して開いてください。プログラマー視点だと⌘+スペースでサクッと呼び出せます。

手順
文字化けを確認するコマンドを実行

ls -lと入力してEnterを押してください。長めのリスト表示でファイル名が並びます。

手順
表示をチェック

ファイル名が日本語の場合は正しく読めるか、もし「??」「����」といった文字が並んでいたら文字化けしています。

ターミナルのロケール設定を確認したいときはecho $LANGで出力結果を見てみると、どの文字コードを使っているかが分かります。

②Homebrewでconvmvをインストールする

手順
Homebrewでconvmvをインストールする

まずターミナルを開いてください。Spotlight(⌘+スペース)で「ターミナル」と入力すると早いです。

パッケージ情報を最新にするために以下のコマンドを実行します。

brew update

つづいて、convmvをインストールします。Homebrewならシンプルに以下ひとつです。

brew install convmv

インストールが終わったら、バージョンを確認してみましょう。

convmv --version

バージョン番号が表示されれば準備完了です。

③convmvコマンドでUTF-8へ一括変換する

手順
convmvをインストール

まだ導入していなければターミナルでbrew install convmvと入力して追加します。

手順
変換したいフォルダへ移動

文字化けしているファイルが入ったフォルダにcd /path/to/フォルダで移動します。

手順
動作確認(dry run)

convmv -f SHIFT_JIS -t UTF-8 -r .を実行して、変更内容をチェックします。(まだファイルは変わりません)

手順
UTF-8へ一括変換

結果に問題なければconvmv -f SHIFT_JIS -t UTF-8 -r --notest .を実行して実際に変換します。

手順
変換結果を確認

Finderやlsコマンドでファイル名が正しく表示されているか確認してください。

convmvはファイル名のみを変換します。ファイル中身の文字コードには影響しないので注意してください。

大切なファイルは事前にコピーしておくと万が一のときに安心です。

④Finderでファイル名が正常に読めるかチェックする

手順
Finderでファイル名が正常に読めるかチェックする

DockかSpotlightからFinderを起動して、文字化け対応したファイルが入っているフォルダを開きます。

表示モードを「リスト」に切り替えると長いファイル名も確認しやすくなります。

日本語や記号が正しく表示されていれば成功です。崩れている場合は、手順③で使った変換オプションを見直してみましょう。

テキストが豆腐だらけのとき

テキストが豆腐だらけのとき

文字が豆腐だらけになるのは、フォントにその文字が入っていないからです。パソコンが読もうとしても表示用の字形がないと黒い四角だけが並んでしまいます。

この場合は必要なフォントを追加するのがいちばん気軽な方法になります。Macなら「Font Book」で日本語や絵文字フォントをインストールし、Windowsでも同じフォントを入れておけばお互いの文字化けを防げます。

フォントをそろえておくと文字化けの心配がなくなるうえに、いざというときの表示崩れもぐっと減ります。最初にフォント周りをチェックするのは、とてもおすすめの対策です。

①テキストエディタでファイルをUTF-8として開き直す

手順
MacでVSCodeを使って再読み込み

VSCodeで文字化けしているファイルを開いたら、画面右下に表示されている文字コード部分をクリックしてください。

表示されたメニューから「Reopen with Encoding」を選んで、UTF-8をクリックすると文字がきれいに直ります。

手順
WindowsでNotepad++を使って開き直し

Notepad++でファイルを開いた状態でメニューの「エンコーディング」を開き、「文字コードを指定して開く」→UTF-8を選んでください。

②ターミナルでnkf-wを実行してエンコーディングを変換する

手順
ターミナルを開く

LaunchpadやSpotlightからターミナルを探して起動します。作業するフォルダに移動することを忘れないでください。

手順
nkfコマンドで変換

以下のように入力してファイルの文字コードをUTF-8に変えます。

nkf -w original.txt > converted.txt

この例ではoriginal.txtを読み込んで、UTF-8に変えた結果をconverted.txtに出力しています。

元ファイルを直接上書きしたいときは、-wオプションだけでOKですが、念のためバックアップをとってから実行してください。

nkfはHomebrewでbrew install nkfとすれば最新バージョンを手軽に入手できます。

③Windowsでも開いて文字化けがないか確かめる

手順3
Windows環境で文字化けをチェック

エンコードをUTF-8に変換したファイルをWindows環境へ移動します。

VSCodeを起動してファイルを開き、画面右下に「UTF-8」が表示されているか確認します。

日本語部分をスクロールしながら見て、文字化けがないか丁寧にチェックします。

もし文字化けを見つけたら、Macで再度UTF-8(BOMなし)保存を行い、同じ手順で確認し直しましょう。

直し方を覚えたら!MacとWindowsどちらでも安心共有できる資料づくり

直し方を覚えたら!MacとWindowsどちらでも安心共有できる資料づくり

覚えた文字化けの直し方を活かしておけば、MacでもWindowsでもストレスなく開ける資料づくりができます。ここでは、実際に役立った応用テクニックをまとめました。

応用テクニック使いどころとメリット
PDFで書き出し文字コードやフォントの埋め込みが自動処理され、どちらの環境でもレイアウト崩れなしで表示できる。
共通フォントを活用Windows標準の游ゴシックやMac標準のヒラギノを避け、両方に入っているメイリオやArialに統一すると安心。
シンプルなレイアウト表や図の罫線を細かく入り組ませずにまとめ、セル結合も最小限にすると、読み込み速度と再現性が上がる。
クラウド共同編集GoogleドキュメントやMicrosoft 365を使うと、リアルタイムで文書を最新状態に保ちつつ共有できる。

これらの方法を組み合わせることで、文字化けの不安を解消しつつ、誰でも快適に開ける資料が完成します。

Numbersで作ったCSVを文字化けさせずに渡す

Numbersで作ったCSVを文字化けさせずに渡す

NumbersからCSVを書き出すときはエンコードにUTF-8(BOM付き)を選ぶとWindows側での文字化けをぐっと減らせます。BOMがファイルの先頭で文字コードを教えてくれるからExcelで開くときに安心です。

  1. BOMで文字コードを自動認識してくれるため文字化けしにくい
  2. Numbersの書き出し設定から選ぶだけで簡単に用意できる
  3. プログラマー目線でも手軽なのでチーム内共有にぴったり

NumbersでUTF-8として書き出す

手順
NumbersからCSVを書き出す

書き出したいシートを開いてメニューバーから「ファイル」「書き出す」「CSV…」を選んでください。

区切り文字はカンマのまま進めると、Mac標準のUTF-8形式で保存されます。

手順
TextEditで文字コードを確認して保存

書き出したCSVをTextEditで開き、メニューの「ファイル」「別名で保存」をクリックしてください。

フォーマットは「プレーンテキスト」、文字エンコーディングは「Unicode(UTF-8)」を選んで保存すると確実です。

ターミナルでnkf-wLuをかけて改行コードも整える

ターミナルを開いてnkfへオプション -wLu を指定すると、文字コードをUTF-8へ揃えつつ改行コードもUnix形式(LF)へまとめられます。

手順
nkfの有無を確認

nkf --version を実行してインストール済みか確かめます。コマンドが見つからない場合は次のステップで入れましょう。

手順
nkfをインストール

Homebrewが使えるなら brew install nkf を実行します。数秒で準備完了です。

手順
ファイルの文字化けを解消

nkf -wLu 入力ファイル > 出力ファイル を実行します。これでUTF-8かつLF改行の新しいファイルができます。

元ファイルを上書きしたいときは、出力ファイルを同じ名前にするとき慎重にバックアップを取ってから実行してください。

WindowsのExcelで開いて内容をチェックする

手順
ExcelでCSVを読み込む

エクスプローラーでCSVファイルを右クリックし、「プログラムから開く」→「Excel」を選びます。

文字化け予防には、Excelの「データ」タブ→「テキスト/CSVから」を選び、画面右側で「65001:Unicode(UTF-8)」を指定すると安心です。

手順
内容をチェックする

列幅を広げてデータを見やすくし、フィルター機能で特定の項目を絞り込みながら文字化けや欠損がないか確認します。

問題が見つかった場合は、元のファイルの文字コード設定を見直し、再度インポートするとスムーズに直せます。

ZIPファイルをWindowsで開いても文字化けゼロ

ZIPファイルをWindowsで開いても文字化けゼロ

Macで作成したZIPは標準だとUTF-8で圧縮されるので、Windowsのエクスプローラーで解凍すると日本語ファイル名が文字化けしやすいです。

そこで、Macのターミナルでzipコマンドに文字コード指定オプションを付けるか、Kekaなどの圧縮アプリで「CP932(Shift_JIS)」を選んで作成すると、Windowsでも文字化けゼロでファイル名が表示されます。

この方法ならWindowsユーザーへのファイル共有がスムーズですし、大事な日本語フォルダ名やファイル名もそのまま守れます。

Finderで圧縮前にファイル名をUTF-8にしておく

手順
Homebrewでconvmvを入れる

ターミナルを開き、brew install convmvと打ってエンターを押します。これで文字コード変換ツールが使えるようになります。

手順
ファイル名をUTF-8に変換する

対象フォルダに移動し、convmv -f Shift_JIS -t UTF-8 -r --notest .と打って実行します。拡張子を含む全ファイル名がUTF-8になります。

実行前に必ずバックアップを取ってから操作してください。

初回は--notestを外してテストモードで動かすと安全です。

ターミナルでditto-c-kを使ってZIPを作成する

手順
Terminalを起動して対象フォルダへ移動

DockやSpotlightからTerminalを開いて、cdコマンドでZIP化したいフォルダへ移動します。

例:cd ~/Documents/プロジェクトと入力してEnterキーを押します。

手順
dittoコマンドでZIPを作成

次にdittoコマンドを-c -k --sequesterRsrc --keepParentオプション付きで実行します。Finderで開いたときにリソースフォークが壊れずに扱えるようになります。

例:ditto -c -k --sequesterRsrc --keepParent MyProject MyProject.zipと入力してEnterキーを押します。

フォルダ名とZIP名を一致させると、あとで中身を見つけやすくなります。

圧縮後はFinderでZIPをダブルクリックすると展開可能です。

Windowsで展開して文字化けの有無をチェックする

手順
Windowsで展開して文字化けの有無をチェックする

Windowsではエクスプローラーの右クリック「すべて展開」で手軽に解凍できます。展開後のファイル名に文字化けがないかじっくり確認してください。

テキストファイルが含まれる場合はNotepad++などで開き、メニュー「Encoding」からUTF-8Shift_JISを切り替えつつ中身をチェックすると見落としが防げます。

プログラミング作業ではファイル名だけ正常でも中身が文字化けしているケースがよくあります。エンコーディング切り替えチェックは忘れないようにしましょう。

Gitでの文字化けを防いで共同開発をスムーズに

Gitでの文字化けを防いで共同開発をスムーズに

リポジトリをcloneしたりpushしたりしていると、気づけばdiffやファイル名が文字化けして「何のファイル?」状態になることがあります。共同開発だとチームの誰かが顔をしかめる原因にもなりやすいので、最初に設定をそろえておくとストレスが減ります。

  1. core.quotepathを無効化:日本語ファイル名をエスケープせず、そのまま表示させることができます。
  2. i18n.commitEncodingをUTF-8に:コミットメッセージを強制的にUTF-8扱いにして、他の開発環境でも同じ見た目をキープします。
  3. .gitattributesで文字コードを統一:特定の拡張子を必ずUTF-8化し、改行コードもLFにそろえておくと余計な差分が減ります。

gitconfigにcorequotepathfalseを設定する

手順
現在のquotepath設定を確認する

まずは今の設定がどうなっているかチェックしましょう。

git config --global --get core.quotepath

手順
core.quotepathをfalseに設定する

表示がtrueだったり何も出てなかったりしたら、以下のコマンドでfalseを入れます。

git config --global core.quotepath false

手順
設定が反映されたか再確認

もう一度確認して、falseが返ってくれば完了です。

git config --global --get core.quotepath

Windows環境ではGit BashやPowerShellで同じコマンドを使えます。システム全体に適用したい場合は--systemオプションを検討してください。

commit時に–encoding=utf-8を指定する

手順
ターミナルで対象リポジトリに移動

まずターミナルを開いて文字化けを防ぎたいリポジトリのフォルダまで移動します。

手順
commitコマンドにエンコーディング指定

以下のように –encoding=utf-8 オプションをつけてコミットを実行します。

git commit --encoding=utf-8 -m "コミットメッセージ"

エンコーディング指定がないとWindowsではデフォルトでcp932が使われることがあります。

よく使う場合は git config --global i18n.commitencoding utf-8 を設定すると毎回オプションを付けずに済みます。

Windows側でlogを読んで文字化けがないか確認する

WindowsのコマンドプロンプトやPowerShellでログを表示するときに、文字コードが合っていないと文字化けが起きやすいです。事前に文字コードをUTF-8に揃えるとスムーズに中身を確認できます。

手順
コマンドプロンプトの文字コードをUTF-8に切り替える

コマンドプロンプトを開いてから文字コードをUTF-8に変更します。

chcp 65001

手順
ログファイルの中身をターミナルで表示する

UTF-8モードになったら、typeコマンドまたはPowerShellのGet-Contentで中身を確認します。

type C:\path\to\your.log

PowerShellで長いログを扱うなら、Get-Content -Path C:\path\to\your.log -Encoding UTF8を使うと一括で正しく読み込めます。

よくある質問

よくある質問

文字化けを防ぐにはどうすればいいですか?

文字化けを防ぐにはどうすればいいですか?

テキストを扱うときは、保存時のエンコードをUTF-8(BOMなし)に統一すると安心です。実際にエディタで保存するときに「UTF-8」を選ぶとWindows側でもほとんど文字化けしません。

ファイルのエンコードはどうやって確認できますか?

ファイルのエンコードはどうやって確認できますか?

エディタ(VS Codeなど)を使うと、ウィンドウの右下に「UTF-8」や「Shift_JIS」と表示されます。ターミナルならfileコマンドを実行すると、簡単に調べられますよ。

Macから渡すときの注意点はありますか?

Macから渡すときの注意点はありますか?

改行コードがLFのままだとWindowsで開くと段落がつながることがあります。エディタの設定でCRLFに変換して保存すると、受け取る側も読みやすくなります。

Windowsへ送ったPDFが黒四角になるのは文字化け?

Macで作成したPDFをWindowsで開くと、本文が黒い四角だけで表示されることがあります。これは文字化けではなく、使用したフォントがPDFに埋め込まれておらず、Windows側で表示できないためです。

解決策としては、文字をアウトライン化してしまう方法か、フォントそのものをPDFに埋め込む方法が使えます。どちらもWindowsで正しく文字を見せられるので、相手先で黒四角に悩ませる心配がなくなります。

ターミナルで表示される???は放置して大丈夫?

ターミナルで日本語ファイル名や文字列を扱っているときに、予期せず「???」と表示されることがあります。これは本来の文字を読み取れずに代わりに「?」を並べているだけで、システムの動作には影響しません。

この「???」自体は実行結果やファイルの中身を壊さないので、見た目が気にならなければ放置しても大丈夫です。

どうしても修正したい場合は、ターミナルの環境変数をUTF-8に統一したり、フォントを日本語対応のものに切り替えたりすると、本来の文字が正しく表示されるようになります。

convmvやnkfはMacAppStoreから入れられる?

Mac App Storeをのぞいてもconvmvやnkfは見つからないんだ。コマンド操作向けのツールなのでApple公式ストアでは扱っていないんだよ。

だからHomebrewでインストールするのがいちばん手軽だよ。バージョン管理も自動でやってくれるから、ずっと最新の状態をキープできるんだ。

macOSの標準機能だけで全部直せる?

macOSには文字コードを扱うあれこれが標準でそろっていて、追加のアプリを入れずに文字化けの直し屋さんになれます。ファイルのプレビューやテキストエディットで文字コードを切り替えながら開き直すだけで、大抵の文字化けはサクッと解決できるところが魅力です。

  1. 手間なしインストール不要:macOSだけで使えるから、作業前の準備時間ゼロ。
  2. プレビュー機能で確認:Finderのクイックルックで文字化け具合を見ながら適切な文字コードを選べる。
  3. テキストエディットで再保存:開きなおして文字コードを指定し、UTF-8やShift_JISに変換して再保存できる。

まとめ

まとめ

MacとWindows間で文字化けが起きるのは、ファイルの文字コードが合っていないからでした。

まずはエディタやターミナルの文字コード設定をUTF-8にそろえ、VSCodeやTextEditで開くときに「文字コードを指定して再読み込み」を使って正しいエンコーディングを選びましょう。

大きなファイルを一括で直したいときは、iconvコマンドでUTF-8(BOMなし)に変換すれば手間なくクリアになります。

これで最新のMac環境でも文字化け知らずになれます。次の作業からぜひ試してみてください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次