CSVファイルを開いたら、名前や住所が「縺薙s縺ォ縺。」のように崩れていて、作業が止まったことはありませんか。納品前のデータ確認、広告レポートの集計、顧客リストの取り込みで文字化けが起きると、原因が見えないぶんかなり焦りますよね。
その原因の多くが「文字コード」です。文字コードとは、パソコンが文字を保存したり表示したりするためのルールのことです。人間には「あ」と見えていても、コンピューターの中では数字やバイト列として扱われています。その読み取りルールがズレると、文字化けが起きます。
ロロメディア編集部でも、広告レポートのCSVをExcelで開いた瞬間に文字化けし、提出前に集計をやり直したことがあります。ファイルが壊れたのではなく、開くときの文字コードが合っていなかっただけでした。原因がわかると、対処はかなりシンプルです。
文字コードとは文字をコンピューターで扱うための変換ルール

文字コードとは、文字と数字を対応させるためのルールです。もう少し実務寄りに言うと、ファイルに保存されたデータを「どの文字として読むか」を決める仕組みになります。
パソコンは「あ」「A」「髙」のような文字を、そのまま感覚で理解しているわけではありません。内部では数字やバイト列として扱っています。その数字をどの文字として表示するかを決めるのが文字コードです。
文字コードは翻訳ルールのようなもの
初心者の方は、文字コードを「翻訳ルール」と考えるとわかりやすいです。ファイルには文字そのものではなく、文字に対応するデータが入っています。それを読むアプリ側が、正しいルールで翻訳して表示しているわけです。
たとえば、日本語の文章が入ったCSVをExcelで開くとします。CSV側はUTF-8で保存されているのに、Excel側が別の文字コードとして読んでしまうと、文字化けします。
このとき、ファイルが完全に壊れているとは限りません。正しい文字コードで開き直せば、きちんと読めることがあります。
| 状態 | 起きていること | 対処 |
|---|---|---|
| 正しく表示される | 保存時と読み込み時の文字コードが一致 | そのままで問題なし |
| 文字化けする | 読み込み時の文字コードが違う | 正しい文字コードで開き直す |
| 一部だけ崩れる | 特殊文字や機種依存文字が混ざる | 文字を置き換える |
| 保存後に戻らない | 誤った形式で上書きした可能性 | 元ファイルから再変換する |
ここで大事なのは、文字化けを見た瞬間に上書き保存しないことです。誤った文字コードで開いた状態のまま保存すると、復旧が難しくなる場合があります。
文字コードと文字集合は別物として理解する
文字コードを調べると、Unicode、UTF-8、Shift_JIS、EUC-JPのような言葉が出てきます。ここで一気に難しく感じる人が多いです。
まず分けて考えましょう。
Unicodeは「世界中の文字を整理して扱うための文字集合」です。文字集合とは、どんな文字を扱うかを決めた一覧のようなものです。一方、UTF-8はUnicodeの文字を実際にファイルへ保存するための符号化方式です。
つまり、Unicodeが「文字の一覧」だとすると、UTF-8は「その一覧をどう保存するか」という方式です。
Unicodeは文字の考え方。UTF-8は保存や通信で使う形式。
これでかなり見通しがよくなります。
UTF-8とは現在もっとも使われる文字コード

UTF-8は、Webサイトやアプリ、CSV、システム連携で広く使われている文字コードです。日本語だけでなく、英語、中国語、絵文字など多くの文字を扱いやすいのが特徴になります。
WordPressやHTML、API連携、Googleスプレッドシート、各種クラウドサービスでは、UTF-8を前提にしている場面がかなり多いです。だから、特別な理由がなければUTF-8で保存しておくのが無難です。
UTF-8は多言語に強くWebと相性がよい
UTF-8の強みは、幅広い文字を扱えることです。日本語、英数字、記号、絵文字などを同じ仕組みで扱えるため、Webサービスとの相性が良くなります。
たとえば、WordPressで記事を書いていて、本文に日本語、英語、記号、絵文字が混ざることがありますよね。UTF-8なら、こうした文字を比較的安定して扱えます。
一方で、古い文字コードは日本語環境だけを前提にしていたり、扱える文字に制限があったりします。そのため、現代のWeb制作やデータ連携ではUTF-8を選ぶ場面が多くなっています。
| 文字コード | 主な用途 | 初心者向けの理解 |
|---|---|---|
| UTF-8 | Web、WordPress、CSV、API | 基本はこれを選ぶ |
| Shift_JIS | 古いWindows環境、Excel、業務システム | 日本語CSVでまだ使う場面がある |
| EUC-JP | 古いUnix系システム | 新規ではあまり選ばない |
| UTF-16 | 一部アプリや内部処理 | 通常のCSVでは優先しない |
実務では、迷ったらUTF-8です。ただし、相手がExcelで開くCSVを求めている場合は、UTF-8 BOM付きやShift_JISを指定されることがあります。
UTF-8とUTF-8 BOM付きの違い
CSVの文字化けでよく出てくるのが「BOM付き」という言葉です。BOMとは、Byte Order Markの略で、ファイルの先頭に付く目印のようなものです。
初心者向けに言えば、「このファイルはUTF-8ですよ」とアプリに気づかせるための印のようなものです。特にExcelでCSVを開くとき、UTF-8 BOM付きなら文字化けしにくいケースがあります。
ただし、BOMが不要な場面もあります。WebサイトのHTMLやプログラムの設定ファイルでは、BOMが原因で予期しない表示やエラーになることもあります。
つまり、BOM付きが常に正解ではありません。
CSVをExcelで開くならUTF-8 BOM付きが便利な場合があります。Webやシステム連携では、相手の仕様を確認してBOMなしUTF-8を選ぶこともあります。
文字化けが起きる原因は保存と読み込みの文字コード不一致

文字化けの原因は、ほとんどの場合「保存した文字コード」と「開くときに使った文字コード」が違うことです。ここだけ押さえると、対処の方向がかなり見えます。
たとえば、ファイルはUTF-8で保存されているのに、ExcelがShift_JISとして読んでしまう。あるいは、Shift_JISのCSVをUTF-8として読み込んでしまう。こうなると、日本語が崩れます。
提出前にCSVを開いたら文字が崩れていて、慌てて何度も保存し直す。こういう場面、業務ではかなり危険です。最初にやるべきことは、上書きではなく「別の文字コードで開き直す」ことです。
CSVで文字化けしやすい理由
CSVは、カンマで区切られたテキストファイルです。Excelの表のように見えますが、実体はかなりシンプルな文字データです。
そのため、ファイル自体に「私はUTF-8です」とわかりやすく書かれていない場合があります。開くアプリが自動判定に失敗すると、文字化けします。
特に日本語CSVでは、次のような場面で文字化けが起きやすいです。
- WebサービスからCSVをダウンロードした
- Excelで直接CSVをダブルクリックした
- Macで作ったCSVをWindowsで開いた
- GoogleスプレッドシートからCSV出力した
- 古い業務システムへCSVを取り込んだ
この中でも多いのが、CSVをダブルクリックで開くケースです。Excelが自動で開いてくれるので便利ですが、文字コードの指定ができないまま読み込まれることがあります。
安全に開くなら、Excelの「データ」から取り込む方法を使い、文字コードを指定して読み込むのが確実です。
保存しただけで文字化けすることもある
文字化けは、開くときだけではありません。保存するときにも起きます。
たとえば、UTF-8で作られたCSVをExcelで開き、別の形式で上書き保存したとします。このとき、環境によっては文字コードが変わったり、一部の文字が保存できなかったりすることがあります。
特に注意したいのが、丸数字、旧字体、絵文字、特殊記号です。Shift_JISでは扱えない文字が含まれていると、保存時に「?」へ置き換わることがあります。一度「?」に変わって保存されると、元の文字へ戻すのは難しくなります。
UTF-8とShift_JISの違いを実務で理解する

初心者が最初に混乱するのが、UTF-8とShift_JISの違いです。どちらも日本語を扱えるため、同じように見えます。でも、使われる場面と相性が違います。
今から新しくWebサイトやデータを作るなら、基本はUTF-8です。ただし、日本国内の古い業務システムやExcel運用では、Shift_JISが残っていることがあります。
つまり、正解は「常にUTF-8」ではなく、「基本はUTF-8。ただし相手の環境がShift_JISなら合わせる」です。
UTF-8はWeb向きでShift_JISは古い日本語環境に残りやすい
UTF-8は、世界中の文字を扱いやすく、Webやクラウドサービスと相性が良い文字コードです。WordPress、HTML、API、Google系ツールではUTF-8が前提になっている場面が多くなります。
現場では、こういう会話が起きます。
「CSVをアップロードしたらエラーになりました」
「文字コードはShift_JISで保存していますか?」
「UTF-8じゃダメなんですか?」
このやり取り、かなりあります。
機種依存文字は文字化けや置換の原因になる
Shift_JIS絡みで注意したいのが、機種依存文字です。機種依存文字とは、環境によって表示できたりできなかったりする文字のことです。
たとえば、丸数字、ローマ数字、旧字体、特殊な記号、絵文字などが問題になりやすいです。
UTF-8なら扱える文字でも、Shift_JISへ変換すると保存できない場合があります。その結果、文字が「?」になったり、別の文字に変わったりします。
実務では、CSVをシステムへ取り込む前に、以下の文字を避けると安全です。
- 丸数字
- 絵文字
- 特殊記号
- 環境依存の旧字体
- 半角カタカナ
- 見た目が似た別文字
たとえば「髙橋」の「髙」がシステムで扱えず、「高橋」に置き換える必要が出ることがあります。顧客名や住所データでは、こうした文字の扱いがトラブルになります。
文字コードを確認する方法

文字化けが起きたとき、まず確認したいのは「このファイルが何の文字コードで保存されているか」です。ここがわからないまま変換すると、さらに壊してしまうことがあります。
ただし、文字コードの自動判定は完璧ではありません。アプリが推測しているだけの場合もあります。だから、複数の方法で確認するのが安全です。
提出直前のCSVで文字化けしたとき、焦ってExcelだけで何とかしようとすると遠回りになります。まずテキストエディタで開く。これがかなり有効です。
Windowsではメモ帳やVS Codeで確認する
Windowsなら、まずメモ帳で開いてみましょう。最近のメモ帳は文字コードをある程度扱いやすくなっています。保存時にUTF-8を選べるため、簡単な確認や変換なら対応できます。
より確実に作業するなら、VS Codeのようなエディタを使うと便利です。VS Codeとは、Microsoftが提供しているコード編集用の無料エディタです。プログラマー向けの印象がありますが、CSVやテキスト確認にも使えます。
VS Codeでは、画面右下に文字コードが表示されます。そこから「エンコード付きで再度開く」や「エンコード付きで保存」を選べます。
| ツール | 向いている作業 | 初心者向けの使い方 |
|---|---|---|
| メモ帳 | 簡単な確認と保存 | UTF-8保存に使う |
| VS Code | 文字コード確認と変換 | 右下のエンコード表示を見る |
| Excel | 表として確認 | 直接開かずデータ取り込みを使う |
| Googleスプレッドシート | 簡易確認 | インポート後の表示を確認 |
ここで注意したいのは、文字化けした状態で保存しないことです。まずコピーを作ってから作業してください。
Macではテキストエディットより専用エディタが安全
Macでもテキストファイルは開けますが、文字コード変換の確認には専用エディタのほうが安全です。VS CodeやCotEditorなどを使うと、文字コードを指定して開き直せます。
MacでCSVを作り、WindowsのExcelで開いたら文字化けする。これは業務で起きやすいパターンです。Mac側では問題なく見えていても、相手のWindows環境では別の読み方をされることがあります。
文字コードをUTF-8に変換する方法

文字コード変換は、難しそうに見えます。でも実務でやることはシンプルです。正しい文字コードで開き、必要な形式で保存し直すだけです。
ただし、文字化けした状態を元データとして変換してはいけません。すでに崩れて見えているファイルをそのまま保存すると、崩れた文字を保存してしまう可能性があります。
作業前に必ず元ファイルをコピーしてください。これだけで事故をかなり防げます。
メモ帳でUTF-8保存する方法
Windowsで簡単にUTF-8へ変換したい場合は、メモ帳を使えます。
CSVやテキストファイルをメモ帳で開き、文字が正しく表示されているか確認します。そのうえで「名前を付けて保存」を選び、文字コードをUTF-8にして保存します。
作業の流れは次の通りです。
- 元ファイルをコピーする
- コピーしたファイルをメモ帳で開く
- 文字が正しく表示されているか確認する
- 名前を付けて保存を選ぶ
- 文字コードでUTF-8を選ぶ
- 別名で保存する
文字化けしている場合は、別の文字コードとして開き直せるエディタを使ってください。
VS Codeで文字コードを変換する方法
VS Codeを使うと、文字コードの確認と変換がしやすくなります。
ファイルを開いたら、画面右下の「UTF-8」や「Shift JIS」と表示されている部分をクリックします。そこで「エンコード付きで再度開く」を選ぶと、別の文字コードとして読み直せます。
初心者の方は、この順番を覚えると迷いません。
まず正しく開く。次に変換して保存する。
逆にすると失敗します。
ExcelでCSVをUTF-8として開く方法
ExcelでCSVを直接ダブルクリックすると、文字コードをうまく判定できず文字化けすることがあります。安全に開くなら、Excelの「データ」タブから取り込みます。
「データ」から「テキストまたはCSVから」を選び、対象ファイルを指定します。プレビュー画面で文字コードを選べる場合は、UTF-8を選択して表示を確認します。
文字が正しく表示されたら、読み込みます。
この方法なら、ダブルクリックで開くより安定します。
CSVの文字化けを直す具体的な手順

CSVの文字化けで検索する人は、今すぐ直したい状況が多いです。理屈より先に、手を動かしたいですよね。
ここでは、実務で使いやすい順番で対処します。
まずやることは、元ファイルのコピーです。これをしないまま作業すると、取り返しがつかなくなることがあります。
まず元ファイルをコピーしてから作業する
CSVが文字化けしたとき、最初にやるべきことは修正ではありません。コピーです。
元ファイルを右クリックして複製し、「作業用」などの名前を付けてください。文字化けした状態で保存してしまうと、元に戻せない可能性があります。
作業用ファイルで試し、うまくいったら変換済みファイルとして保存する。この順番を守ってください。
Excelで文字化けするCSVはデータ取り込みで開く
ExcelでCSVを開いて文字化けしている場合、ダブルクリックで開くのをやめます。Excelを先に起動し、「データ」タブからCSVを取り込んでください。
取り込み画面で文字コードを選び、UTF-8、Shift_JISなどを切り替えながらプレビューを確認します。日本語が正しく表示される設定が見つかったら、その状態で読み込みます。
この方法で直るケースはかなり多いです。
特にWebサービスからダウンロードしたCSVはUTF-8であることが多いため、Excel側でUTF-8として読み込むと正しく表示される場合があります。
システム取り込み用CSVは相手の指定に合わせる
CSVを別システムへ取り込む場合、自分の画面で正しく見えるだけでは不十分です。取り込み先がどの文字コードを指定しているかを確認してください。
実務では、次の順番で確認します。
- 取り込み先の仕様を確認する
- 必要な文字コードを確認する
- 元ファイルをコピーする
- 指定の文字コードで保存する
- 少量データでテスト取り込みする
- 問題なければ本番データを取り込む
いきなり全件取り込むのは危険です。まず数件でテストすると、文字化けやエラーを早めに発見できます。
Webサイトで文字コードを指定する方法

Webサイトでは、HTMLファイルに文字コードを指定します。現在ならUTF-8を使うのが基本です。
文字コードの指定がない、またはファイルの保存形式と指定がズレていると、ブラウザで文字化けすることがあります。WordPressでは通常あまり意識しませんが、HTMLファイルを直接編集する場面では重要です。
HTMLではmeta charsetを指定する
HTMLで文字コードを指定する場合、head内にmeta charsetを書きます。
たとえば、UTF-8なら次のように指定します。
<meta charset="UTF-8">
この指定は、できるだけHTMLの上部に置きます。ブラウザが早い段階で文字コードを判断できるようにするためです。
ただし、指定を書けば必ず直るわけではありません。HTMLファイル自体が別の文字コードで保存されている場合、指定と実体がズレます。
つまり、HTML内の指定と、ファイル保存時の文字コードを一致させる必要があります。
WordPressでは通常UTF-8を前提に考える
WordPressは、基本的にUTF-8を前提として扱われます。通常の記事投稿で文字コードを自分で設定する場面は多くありません。
ただし、テーマファイルを編集したり、外部CSVを取り込んだり、データベース移行をしたりするときは注意が必要です。
特に、古いサイトからWordPressへ記事データを移す場合、元データの文字コードが原因で文字化けすることがあります。
移行作業では、必ずバックアップを取り、テスト環境で表示確認してください。本番サイトで直接変換作業をするのは危険です。
文字コード変換で失敗しやすいポイント

文字コード変換は、作業自体はシンプルです。ただ、失敗するとデータが読めなくなったり、一部の文字が失われたりします。
特に業務データでは、名前、住所、商品名、備考欄に特殊文字が混ざります。ここを雑に扱うと、後から修正が大変です。
文字化けした状態で保存しない
一番多い失敗です。
CSVを開いたら文字化けしていた。でも焦って別名保存した。これをやると、崩れた文字列がそのまま保存されることがあります。
文字化けは「表示だけ」の場合もあります。正しい文字コードで開き直せば直るかもしれません。でも、文字化けした状態で保存すると、表示だけの問題ではなくなります。
作業中に迷ったら、保存しないで閉じてください。
そして元ファイルからやり直しましょう。
特殊文字が消えることを想定する
UTF-8からShift_JISへ変換すると、扱えない文字が出ることがあります。絵文字や特殊記号、旧字体の一部が問題になりやすいです。
変換後に「?」が増えていないか確認してください。
顧客名で「髙」「﨑」などが入っている場合、システムによっては正しく扱えないことがあります。住所や会社名でも同じです。
この場合、変換前に置換ルールを決めておくと安全です。
たとえば、システム上「髙」を扱えないなら「高」に統一する。丸数字は「1」「2」に変える。絵文字は削除する。こうしたルールを先に決めると、作業者ごとのブレが減ります。
送る相手の環境を確認する
文字コードの正解は、自分の環境だけでは決まりません。相手が何で開くか、どのシステムへ取り込むかで変わります。
送付前に確認すべき項目は、次の通りです。
| 確認項目 | 具体例 |
|---|---|
| 相手の利用ツール | Excel、Googleスプレッドシート、専用システム |
| 指定文字コード | UTF-8、UTF-8 BOM付き、Shift_JIS |
| ファイル形式 | CSV、TSV、TXT、Excel |
| 特殊文字の可否 | 旧字体、絵文字、丸数字 |
| 取り込みテスト | 少量データで確認 |
これを確認しておくと、「こちらでは見えています」という不毛なやり取りを減らせます。
初心者が覚えておくべき文字コードの使い分け

文字コードをすべて覚える必要はありません。初心者が実務で困らないためには、よく使うパターンだけ押さえれば十分です。
大事なのは、目的別に選ぶことです。
WebサイトやWordPressはUTF-8を使う
Webサイトを作るなら、基本はUTF-8です。HTML、CSS、JavaScript、WordPressの記事、データベースなど、現代のWebではUTF-8前提の環境が多いです。
新しくファイルを作るなら、UTF-8で保存してください。
もし古いHTMLファイルを編集する場合は、保存形式とmeta charsetが一致しているか確認します。ファイルはShift_JISなのにHTML内でUTF-8と指定されていると、文字化けの原因になります。
Excelで開くCSVは相手の環境に合わせる
CSVは少し注意が必要です。
自分だけで使うなら、UTF-8で問題ないことが多いです。ただし、Excelで直接開く相手に渡すなら、UTF-8 BOM付きにすると文字化けしにくい場合があります。
古い業務システムへ入れるなら、Shift_JISを指定されることもあります。
つまり、CSVは「誰が何で開くか」を先に確認するファイルです。
迷ったら元ファイルを残してUTF-8で作業する
文字コードに迷ったら、まず元ファイルを残してください。そのうえで、作業用ファイルをUTF-8で扱うのが安全です。
ただし、最終納品形式は相手に合わせます。
文字コードのトラブルを防ぐ運用ルール

文字コードの問題は、毎回その場で直していると時間が溶けます。チームでCSVを扱う会社なら、最初にルール化したほうがいいです。
特に、広告運用、EC、CRM、採用管理、顧客管理をしている会社では、CSVの受け渡しが多くなります。文字コードのルールがないと、担当者ごとに保存形式が変わり、取り込みエラーが起きます。
CSVの保存形式を決めておく
まず、社内で使うCSVの標準文字コードを決めます。
たとえば、Webサービス連携用はUTF-8、Excel確認用はUTF-8 BOM付き、古い基幹システム取り込み用はShift_JISのように分けます。
このルールをドキュメントにしておくと、新人や外部パートナーも迷いません。
| 用途 | 推奨形式 |
|---|---|
| Webサービス連携 | UTF-8 |
| Excelで確認 | UTF-8 BOM付き |
| 古い業務システム | Shift_JIS指定を確認 |
| WordPressやHTML | UTF-8 |
| データ納品 | 取引先指定に合わせる |
ルール化するときは、「なぜそうするのか」も書いておくと親切です。理由があると、現場の人が勝手に別形式へ変えにくくなります。
ファイル名に文字コードを入れる
複数の形式でCSVを作る場合、ファイル名に文字コードを入れると事故が減ります。
たとえば、次のようにします。
customer_list_utf8.csv
customer_list_sjis.csv
report_utf8bom.csv
これだけで、どれを送るべきか判断しやすくなります。
提出前に「どっちが最新だっけ」と迷う時間も減ります。地味ですが、実務ではかなり効きます。
変換前後で件数と文字をチェックする
文字コード変換後は、必ず中身を確認します。特にCSVでは、文字だけでなく行数や列数が崩れていないかも見てください。
確認するポイントは次の通りです。
- 行数が変わっていないか
- 列数がズレていないか
- 名前や住所が文字化けしていないか
- 「?」に置き換わった文字がないか
- 取り込み先でエラーが出ないか
文字コードで困ったときの最短判断フロー

文字化けが起きたときは、原因を深掘りしすぎるより、先に復旧することが大事です。特に提出前や納品前なら、最短で正しく表示できる状態に戻しましょう。
難しい用語を調べる前に、次の順番で確認してください。
CSVが文字化けしたときの最短対応
まず、元ファイルをコピーします。次に、Excelで直接開くのをやめます。
Excelのデータ取り込みから開き、文字コードをUTF-8、Shift_JISなどに切り替えてプレビューを確認します。正しく表示される文字コードが見つかったら、その状態で読み込みます。
それでも直らない場合は、VS Codeなどのエディタで開き直します。
Webサイトが文字化けしたときの最短対応
Webページが文字化けした場合は、HTMLのmeta charsetとファイル保存形式を確認します。
UTF-8として表示したいなら、HTML側でUTF-8を指定し、ファイル自体もUTF-8で保存します。CSSやJavaScriptに日本語コメントや文字列が入っている場合も、同じく保存形式を確認してください。
WordPressの場合は、テーマファイルやデータベース移行が関係していることがあります。いきなり本番で修正せず、バックアップを取ってから作業しましょう。
まとめ:文字コードは文字化けを防ぐための実務知識

文字コードとは、コンピューターが文字を保存し、表示するためのルールです。難しく見えますが、実務で困るポイントはかなり絞れます。
文字化けの多くは、保存時と読み込み時の文字コードが合っていないことで起きます。ファイルが壊れたわけではなく、読み方がズレているだけのケースも多いです。
現代のWebやWordPressでは、基本的にUTF-8を選ぶのが安全です。UTF-8は多言語に強く、Webサービスやクラウドツールとの相性も良い文字コードです。
ただし、CSVをExcelで開く場合や、古い業務システムへ取り込む場合は注意が必要になります。Excelで文字化けするなら、ダブルクリックで開かず、データ取り込みから文字コードを指定してください。相手のシステムがShift_JISを指定しているなら、その仕様に合わせる必要があります。
文字コード変換で一番大切なのは、元ファイルを残すことです。文字化けした状態で上書き保存すると、復旧が難しくなる場合があります。必ずコピーを作り、正しく表示されている状態で保存し直してください。
最後に、迷ったときはこの順番で判断してください。
- WebやWordPressは基本UTF-8
- Excelで開くCSVはUTF-8 BOM付きも検討
- 古い業務システムはShift_JIS指定を確認
- 文字化けしたら上書き保存しない
- 変換前に必ず元ファイルをコピーする
この5つを押さえておけば、初心者でも文字コードのトラブルにかなり強くなれます。
参考記事















