IT基礎

文字コードとは?UTF-8とShift_JISの違いと文字化けの理由

文字コードは、文字をコンピューターが扱う番号に置き換えるための決まりです。UTF-8とShift_JISの違い、保存したときと開くときの文字コードが食い違うと文字化けする理由、ファイルを受け取ったときに確かめる順番を整理します。

最終確認 2026.10.15約3分で読めます

この記事で分かること
  • 文字コードが何を決めているか
  • UTF-8とShift_JISの違い
  • 文字化けが起きる理由と、受け取ったときに確かめる順番

結論

文字コードは、「どの文字を、どの番号(データの並び)で保存するか」の決まりです。文字化けの多くは、保存したときの文字コードと、開くときに使った文字コードが食い違うことで起きます。ファイルが壊れたとは限らないので、上書きせずに、正しい文字コードを指定して開き直すことから始めます。

文字コードは何を決めているか

コンピューターは文字をそのまま覚えているわけではなく、番号に置き換えて保存しています。「あ」をどの番号にするかは、文字コードによって違います。

そのため、同じデータの並びでも、読む側が別の文字コードで解釈すると、別の文字として表示されます。ファイルの中に「この文字コードで書きました」という情報がはっきり入っていない場合、開くソフトは推測するか、決まった文字コードで読みます。その推測が外れると、意味の分からない記号や漢字が並びます。これが文字化けです。

同じ文字コードで開く
UTF-8で保存UTF-8として開く正しく読める
違う文字コードで開く
Shift_JISで保存UTF-8として開く文字化け

ファイルが壊れたとは限りません。保存したときと開くときの文字コードがそろっているかを確かめます。

文字化けの多くは、保存したときと開くときの文字コードの食い違いで起きます。

UTF-8とShift_JISの違い

日本語のファイルでよく出てくるのは、次の2つです。

UTF-8Shift_JIS
扱える文字世界の多くの文字日本語と英数字が中心
よく使われる場所Webページ、新しいシステムやサービス以前からの業務ソフト、日本語版Windowsで作られたファイル
日本語1文字の大きさ多くは3バイト多くは2バイト
注意点古いソフトでは化けることがある表せない文字があり、変換すると別の文字に置き換わることがある

バイトは、データの大きさの単位です。どちらが正しいということではなく、相手とそろっているかどうかが大切です。

文字化けしたときに確かめる順番

  1. 元のファイルを残す:化けた状態で上書き保存すると、本当に元に戻らなくなることがあります。
  2. 送り手に聞く:どの文字コードで保存したかを聞くのが、いちばん早い方法です。
  3. 文字コードを指定して開く:Excelの場合、Microsoftのサポートページでは、[データ] タブの [データの取得 & 変換] グループにある [テキストまたは CSV から] から取り込む方法が案内されています。また「テキスト インポート ウィザード」の説明では、「ファイルの配信元」でテキストファイルの文字セットを選ぶとされています。このウィザードは従来の機能で、新しいバージョンでは有効にする必要がある場合があるとも書かれています。メニューの名前や場所は、Excelのバージョンによって違うことがあります。
  4. テキストエディタで開いてみる:多くのテキストエディタは、文字コードを選んで開き直したり、保存したりできます。操作はソフトごとに違うので、使っているソフトのヘルプで確かめてください。

渡すときに気をつけること

ファイルを渡す側になったら、保存した文字コードを一言添えます。例えば次のような一文です。

そのまま写して使えます
添付のファイルは文字コードUTF-8で保存しています。文字化けする場合はお知らせください。

相手のシステムがShift_JISしか読めない場合、UTF-8から変換すると、人名の一部の漢字や記号が「?」などに置き換わることがあります。変換したあとは、置き換わった文字がないかを目で確かめます。CSV特有の、先頭の0が消えるといった問題は、関連記事のCSVの記事で説明しています。

まとめ

確認リスト

  • 化けたファイルを上書きせず、元のまま残したか
  • 送り手に、保存した文字コードを聞いたか
  • 開くときに文字コードを指定する方法を確かめたか
  • 渡すときに、保存した文字コードを伝えたか
  • 変換したあと、置き換わった文字がないか確かめたか

今日、まず確認すること

文字化けしたファイルを受け取ったら、まず送り手に保存した文字コードを聞くと決めておき、ふだん使うソフトで文字コードを指定して開く方法を一度確かめてみてください。