この記事では「】エクセルにてUTF-8に変換時に文字化けする原因と対策【文字コード:エンコード】」について解説します。
具体的には
・エクセルにてUTF-8に変換時に文字化けする原因と対策
・UTF-8からデフォルト(Shift-JIS)に変換時に文字化けする原因と対策
の両パターンについて見ていきます。
実際のサンプルを用いて、文字化けの原因と対策の詳細を確認しましょう。
エクセルにてUTF-8に変換時に文字化けする原因と対策【文字コード:エンコード】
まずはエクセルにてUTF-8に変換時に文字化けする場合の原因と対策をチェックします。
「UTF-8」とは文字コードのひとつで、さまざまなソフトが対応していることから、最もポピュラーな文字コードと言えるでしょう。
一方で、エクセルは文字コード「Shift-JIS」を使用しており、「UTF-8」へ変換するには、csvファイル(カンマ区切りのテキストデータ)を作成します。
作成時に変換するためのポイントがありますので手順に沿って説明していきますね。
■ステップ1
エクセルでサンプルのデータを作成しました。
このデータをcsvファイルに保存します。
「ファイル」メニューの中の「名前を付けて保存」を選択し、赤い丸の部分をクリックして保存形式を選択します。
<div class=”concept-box1″><p>
選択できるcsvファイルは2種類あります。
・CSV(コンマ区切り)(*.csv)
・CSV UTF-8(コンマ区切り)(*.csv)
今回は文字コード「UTF-8」の形式に保存したいので、ここは「CSV UTF-8(コンマ区切り)(*.csv)」を選びましょう。
「CSV(コンマ区切り)(*.csv)」を選択した場合、文字コードは「ANSI(Shift-JIS)」で保存されますので、「UTF-8」対応のソフトウエアで読み込むと文字化けが発生します。
</p></div>
■ステップ2
ファイル名を入力して保存ボタンをクリックすると、csvファイルが作成されます。
では、実際に文字コードが「UTF-8」で作成されているかをメモ帳で確認してみましょう。
エクスプローラーを開き、作成したcsvファイルにマウスを合わせて右クリック。
「プログラムから開く」を選択し、「メモ帳」をクリックします。
メモ帳が開きました。
メモ帳のウィンドウの右下をご覧ください。「UTF-8」で保存されたことが確認できました。
しかし…。「UTF-8(BOM付き)」となっています。
「BOM」とは、「バイトオーダーマーク(Bite Order Mark)」の略。
文字に割り当てられたそれぞれの数値にマークを付けて、「UTF-8の文字ですよ」とPCに知らせるものです。
BOMを付ける・付けないは任意ですが、エクセルで変換したデータが他のソフトで文字化けするときは、「BOMなし」で試してみると良いでしょう。
なお、マイクロソフトアプリは「BOM付き」でないと文字化けが発生する場合があります。つまり、エクセルは「BOM付き」でないと文字化けしてしまいます。
メモ帳で「BOMなし」に変換する方法を紹介しますので、不具合が出た場合は試してみてください。
1.「ファイル」メニューの「名前を付けて保存」を選択
2.「名前を付けて保存」のウィンドウの下「文字コード」で「UTF-8」を選択
3.「保存」ボタンをクリック
緑で囲った部分が「UTF-8」に変わったことを確認しましょう。
これをエクセル上で開くことで、文字化けが解消されることが多いです。
UTF-8からデフォルト(Shift-JIS)に変換時に文字化けする原因と対策【文字コード:エンコード】
今度は逆に、utf-8からエクセルでのデフォルトに変換時に文字化けする原因と対策を見ていきましょう。
文字コード「UTF-8」で作成されたデータをエクセルで処理するために、「Shift-JIS」への変換が必要となります。
しかし、エクセルでは「UTF-8(BOM付き)」でないと、取り込んだとき文字化けが発生してしまいます。
実際に確認してみましょう。
先ほど作成した「UTF-8」のcsvファイルをエクセルで開きます。
これは「UTF-8 BOMなし」で作成したcsvファイルです。
みごとに文字化けしてしまいました。
繰り返しになりますが、マイクロソフトのアプリはBOMがついていないと不具合が発生します。「UTF-8の文字コードですよ」とマークを付けて初めてエクセルは「UTF-8のコードだ」と理解するのです。
では、メモ帳を使ってエクセルが理解できる文字コードに変換していきましょう。
1.「ファイル」メニューの「名前を付けて保存」をクリック
2.「名前を付けて保存」のウィンドウより「文字コード」で「UTF-8(BOM付き)」もしくは「ANSI」を選択
3.「保存」ボタンをクリック
緑で囲った部分が「UTF-8(BOM付き)」もしくは「ANSI」に変更されたのを確認してください。
ここで「ANSI」という文字コードが出てきました。
「ANSI」とは、マイクロソフトが独自に「Shift-JIS」を拡張した文字コードです。文字によっては「Shift-JIS」と互換性のないコードもありますので、「ANSIとはShift-JISにより近い文字コード」と認識しておいてください。
本題に戻ります。
UTF-8(BOM付き)で保存したcsvファイルをエクセルで開いてみましょう。
正しく表示されたのを確認できました。
まとめ エクセルにてutf-8に変換時に文字化けする原因と対策
今回は、文字化けする原因と、UTF-8とShift-JIS間の変換(エンコード)についてメモ帳を使った方法を紹介しました。
エクセルでUTF-8のデータを扱うにはBOMが必要です。
また、エクセルで作成したUTF-8のデータは自動的にBOMが付きます。
他のシステムでBOMがついていることで不具合が発生することがありますので、使用する環境に合わせて変換を行ってください。
エクセルの特徴を理解し、業務に役立てていきましょう。