ChatGPTでCSVが文字化けする原因|Excelの保存形式を実測で確かめた

ChatGPTでCSVが文字化けする原因(記事のアイキャッチ画像) 仕事でAI活用

Excelで作った表をCSVで保存してChatGPTに渡したら、日本語のところが「�」や、意味の通らない漢字の羅列に化けていた。あるいは、ChatGPTが作ってくれたCSVをExcelで開いたら、同じことが起きた——。

原因は、ほぼ1点に絞れます。Excelの「名前を付けて保存」には、見た目がそっくりなCSVが複数並んでいて、どれを選んだかでファイルの中身が別物になることです。当サイトでは、そのうち「CSV (コンマ区切り)」と「CSV UTF-8 (コンマ区切り)」の2つを実際に保存して、ファイルの中のバイトを比べました。

この記事の結論(先に4つだけ)

  1. 当サイトの環境では、Excelの保存形式の一覧のうち拡張子が .csv の項目は2つでした。その2つは「CSV UTF-8 (コンマ区切り)」が5番目、「CSV (コンマ区切り)」が16番目で、間に10項目はさまっていました。並んでいないので、片方しか目に入らないまま選んでしまいます。
  2. 同じ表を両方で保存したら、中身が完全に別物になりました。「CSV (コンマ区切り)」は31バイト、「CSV UTF-8 (コンマ区切り)」は44バイト。前者はUTF-8ではありませんでした(当サイト実測・日本語環境のWindows)。
  3. 化け方を見れば、どちらの取り違えかが分かります。「�」が並ぶのか、「蝠」のような読める漢字が並ぶのかで、直す場所が変わります。逆算できる表を用意しました。
  4. そもそもCSVにしない、という手があります。OpenAI公式は対応形式にXLSXとXLSを挙げています(英語・当サイト訳)。Excelのファイルをそのまま渡せば、この問題は起きません。
同じ1つのExcelブックを2種類のCSV形式で保存して中のバイトを比べた対比図。元の表は1行目が商品名と数量、2行目がりんごと3、3行目が髙橋と1の2列3行。「CSV (コンマ区切り)」で保存すると31バイトで、先頭のバイトは 8F A4 でいきなり『商』の文字が始まり、中身はUTF-8ではなくBOMも無い。UTF-8として読もうとすると読めず、記号が並ぶ形になる。「CSV UTF-8 (コンマ区切り)」で保存すると44バイトで、先頭のバイトは EF BB BF のBOM、中身はUTF-8で、UTF-8として読める。ファイルの大きさが31バイトと44バイトで違う時点で中身は別物だが、画面上のExcelでは同じ表に見えていて、拡張子もどちらも .csv なので保存したあとでは見分けがつかない。日本語環境のWindowsでの実測。
同じ表を形式だけ変えて保存した結果(当サイト作成の図・当サイトの実測をもとに/Excel 16.0 ビルド20228・日本語環境のWindows・2026年8月19日)
保存した形式 ファイルの大きさ 先頭のバイト 中身
CSV (コンマ区切り) 31バイト 8F A4 UTF-8ではない(BOMなし)
CSV UTF-8 (コンマ区切り) 44バイト EF BB BF UTF-8(先頭にBOMが付く)

同じ表(2列3行)を、同じExcelで、形式だけ変えて保存した結果です。当サイト実測・2026年8月19日。

この記事の根拠|何を、どこで、いつ確かめたか

この記事の数字は、2026年8月19日に、当サイトのパソコンで実際にファイルを保存して、中のバイトを1つずつ読んで確かめたものと、Microsoft公式・OpenAI公式のページを開いて確認したものだけです。

項目 実測した環境
Excel バージョン 16.0(ビルド 20228)
OS Windows 11
画面の言語・地域 日本語(ja-JP)
システムの文字コード設定 コードページ 932

正直に書いておきます。当サイトはChatGPTに実際にCSVを上げて結果を記録する実験はしていません。だから「上げたらこう返ってきた」という話は一行もありません。この記事が扱うのは、渡す前の段階で、ファイルの中身が正しいことを確実にするところまでです。また実測は上の1台のみで、英語版のWindows・Mac版のExcel・ブラウザで動くExcelは試していないため触れません。

なお、その表をChatGPTに入力してよいか(社外に出せない情報かどうか)はこの記事の範囲外です。先に決めたい方は社内資料をChatGPTに読ませていい?入力可否の判定フローを先に読んでください。

まず切り分ける|化け方を見れば、どちらの取り違えか分かる

この記事で扱う文字化けとは、ファイルに入っているバイトの並びを、読む側が「別の文字コードで書かれている」と思い込んで解釈したときに起きる現象です。だから、化けた文字の見た目そのものが、どちらの思い違いが起きたかを教えてくれます。

当サイトで『商品名』という3文字を、バイトの作り方と読み方の組み合わせを変えて出力した結果が下の表です。あなたの画面に出ている文字と、いちばん形が近いものを探してください。

画面に出ている文字の形 実際に出た例 起きていること 直す場所
「�」のような記号が並ぶ ���i�� ファイルの中身はUTF-8ではないのに、読む側がUTF-8だと思って読んでいる ファイルをUTF-8で保存し直す
読めるが意味不明な漢字と半角カタカナが並ぶ 蝠・刀蜷・ ファイルの中身はUTF-8なのに、読む側が日本語版Windowsの文字コードだと思って読んでいる 読み込む側で文字コードを指定する
アルファベットや記号が並ぶ 商å“å / ¤•i–¼ 読む側が欧文の文字コードだと思って読んでいる 同上

当サイト実測・2026年8月19日。表示のされ方はソフトによって多少変わります。上の3つは、当サイトが実測したCSV(「CSV (コンマ区切り)」「CSV UTF-8 (コンマ区切り)」、および当サイトがBOMを付けずに作ったUTF-8のCSV)で起きる化け方です。どれにも当てはまらない場合は、CSV以外の形式(保存の一覧にある「Unicode テキスト」など)で保存されている可能性があります。その場合は、元のExcelファイルから CSV UTF-8 で保存し直してください。

同じ「ファイルを渡したのに読んでもらえない」でも、PDFの場合はまったく別の原因です。文字が入っていないPDFを渡している可能性があります。→ ChatGPTがPDFを読み込めない原因|文字のPDFと画像のPDFの見分け方

原因|Excelの「CSV」は1つではなく、選んだほうで中身が変わる

CSVとは、表をカンマ区切りのただの文字だけで書き出したファイルです。「ただの文字」なので、CSVという形式そのものには、文字コードを書いておく欄がありません。例外に近いのがBOMという目印で、先頭に EF BB BF の3バイトが付いていれば「この先はUTF-8だ」と分かりますが(このあと実物のバイトで見ます)、付いていないファイルは何も名乗りません。ここがすべての原因です。

Microsoft公式の開発者向け資料にも、Excelが保存できる形式として CSVUTF8 CSV別々に並んでいます(英語ページ)。実際に、同じ内容の表(1行目に『商品名』『数量』、2行目に『りんご』と3、3行目に『髙橋』と1)を両方で保存し、中のバイトを読みました。

比べた点 CSV (コンマ区切り) CSV UTF-8 (コンマ区切り)
ファイルの大きさ 31バイト 44バイト
先頭のバイト 8F A4 EF BB BF
先頭の意味 いきなり『商』の文字が始まる BOM(この先はUTF-8だ、という目印)
UTF-8として読めるか 読めない���i�� になる) 読める
日本語版Windowsの文字コードとして読めるか 読める 読めない

当サイト実測(Excel 16.0 ビルド20228/日本語環境のWindows)・2026年8月19日。

まとめると

ファイルの大きさが31バイトと44バイトで違う時点で、中身は別物です。画面上のExcelでは同じ表に見えていて、拡張子もどちらも .csv なので、保存したあとでは見分けがつきません。だから「保存するときにどちらを選んだか」だけが勝負になります。

直す|Excelで保存し直す手順(当サイトの環境では .csv が2つ)

やることは「選び直して保存する」だけです。元のExcelファイル(.xlsx)は残したまま、CSVだけを作り直してください。

保存し直す手順(3ステップ・約2分)

  1. 元のExcelファイルを開く。(化けたCSVのほうを開き直すのではありません。化けたCSVは捨てて作り直します
  2. [ファイル] から [名前を付けて保存] を選ぶ。
  3. [ファイルの種類] の一覧から「CSV UTF-8 (コンマ区切り)」を選んで保存する。「CSV (コンマ区切り)」ではありません。

ここが引っかかるところです。当サイトの環境でExcel本体に保存形式の一覧を出させたところ、全部で25項目あり、そのうち拡張子が .csv のものは次の2つでした。

一覧での位置 項目名 拡張子 渡すならどちらか
5番目 CSV UTF-8 (コンマ区切り) .csv これを選ぶ
16番目 CSV (コンマ区切り) .csv 選ばない

当サイトがExcel本体から読み出した項目名です(Excel 16.0 ビルド20228・日本語表示・2026年8月19日)。保存できるファイル形式の一覧を掲載しているMicrosoftサポートの2ページ(「ブックをテキスト形式 (.txt または .csv) で保存する」「他のファイル形式でブックを保存する」)を開いて確認しましたが、どちらの一覧にも「CSV UTF-8」の項目はありませんでした(2026年8月19日確認・出典欄参照)。そのため、画面の表記は公式ページからではなくExcel本体から読み出して確認しました。項目の順番と番号は、お使いのバージョンで変わることがあります。

逆に、この2ページの一覧には「CSV (Macintosh)」「CSV (MS-DOS)」も載っていて、どちらも拡張子は .csv です。当サイトの環境でExcel本体から読み出した一覧には、この2つは出てきませんでした(2026年8月19日確認)。つまり「.csv の項目が2つ」は当サイトの環境での実測であって、どの環境でも2つだという意味ではありません。お使いのExcelで .csv が3つ以上並んでいる場合も、名前に UTF-8 と入っているものがあれば、それを選んでください。名前に UTF-8 と入っている項目が1つも見つからない場合は、当サイトはその環境を実測していないため、どれを選べばよいかを書けません。その場合は、CSVを作らずに .xlsx のまま渡してください(この記事の「そもそもCSVにしない、という選び方」)。

Excelの[ファイルの種類]の一覧の中で、拡張子が .csv の項目が離れた位置にあることを示した図。当サイトの環境で読み出した一覧は全25項目あり、そのうち拡張子が .csv のものは2つ。5番目が「CSV UTF-8 (コンマ区切り)」でこちらを選ぶ、16番目が「CSV (コンマ区切り)」でこちらは選ばない。2つは並んでおらず、間に .csv ではない項目が10個はさまっていて、しかもUTF-8のほうが上にある。そのため、余計な文字が付いていないふつうのCSVはどれだろうと考えて下まで探した人が、16番目を選んでしまう。迷ったら名前にUTF-8と入っているほうを選ぶ。項目の順番と番号は、お使いのバージョンで変わることがある。
当サイトの環境では拡張子が .csv の項目は2つ。でも並んでいない(当サイト作成の図・当サイトがExcel本体から読み出した一覧をもとに/Excel 16.0 ビルド20228・日本語表示・2026年8月19日確認)

まとめると

当サイトの環境では、この2つは並んでいませんでした。間に10項目はさまっており、しかもUTF-8のほうが上にあります。だから「余計な文字が付いていない、ふつうのCSVはどれだろう」と考えて下まで探した人が、16番目を選んでしまう——これが起きています。迷ったら、名前にUTF-8と入っているほうです。

逆向きの詰まり|ChatGPTが出したCSVをExcelで開くと化ける

同じ原因が、帰り道でも起きます。ChatGPTに整えてもらったCSVを受け取ってExcelで開いたら化けた、という症状です。

Microsoft公式は、この条件をはっきり書いています。「UTF-8 でエンコードされた CSV ファイルは、BOM (バイト オーダー マーク) で保存されている場合、通常どおり開くことができます。」——裏を返せば、BOMが付いていないUTF-8のCSVは、そのまま開くと期待どおりにならないことがあるということです。

当サイトで、BOMを付けないUTF-8のCSVを作り、Excelでそのまま開いてみました。

開いたファイル A1のセル B1のセル 結果
BOMなしのUTF-8 蝠・刀蜷・謨ー驥・ 2列の表が1列に潰れた
BOMありのUTF-8 商品名 数量 正常
CSV (コンマ区切り) で保存したもの 商品名 数量 正常

当サイト実測・2026年8月19日。

まとめると(ここが見落とされます)

文字化けは「見た目が崩れるだけ」ではありませんでした。B1が空になっています。区切りのカンマのバイトが直前のバイトとくっつき、1つの文字の一部として飲み込まれて区切りそのものが消えたからです。化けた表は「読みにくい表」ではなく「列が減った別の表」になります。Excelで開いた時点ですでにそうなっているので、何で読み込むにしても、元の表とは違うものが渡ることになります。

BOMなしのUTF-8で書かれたCSVをExcelでそのまま開くと列そのものが消えることを示した、前後の対比図。渡す前のファイルの1行目は、商品名、カンマ、数量の順に並んでいて、カンマが2つの列を区切っている。これをBOMなしのままダブルクリックで開くと、A1が 蝠・刀蜷・謨ー驥・ になり、B1は空になって、2列の表が1列に潰れた。区切りのカンマのバイトが直前のバイトとくっつき、1つの文字の一部として飲み込まれて、区切りそのものが消えたため。化けた表は読みにくい表ではなく、列が減った別の表になる。なおBOMが付いているUTF-8のCSVと、「CSV (コンマ区切り)」で保存したCSVは、どちらも正常に開いた。
文字化けは、列そのものを消すことがある(当サイト作成の図・当サイトの実測をもとに/Excel 16.0 ビルド20228・日本語環境のWindows・2026年8月19日)

帰り道で化けたときの直し方は、ファイルを作り直すのではなく、Excel側の開き方を変えることです。Microsoft公式は、BOMが無い場合の開き方として、ファイルをダブルクリックせず、[データ] タブから取り込む方法(Power Query 経由)と、テキスト インポート ウィザードを使う方法の2つを案内しています。どちらも、ダブルクリックで開く場合と違い、取り込みの設定画面をはさみます。

そもそもCSVにしない、という選び方

ここまでの話は全部、「CSVがただのテキストで、BOMが付いていなければ文字コードを名乗らない」ことから来ています。裏返すと、CSVを使わなければ起きません。OpenAI公式のヘルプは、対応する拡張子としてXLSX、XLS、CSV、TSV、DOCX、PPTX、PDF、TXTを挙げています(英語・当サイト訳)。XLSXは、ふつうにExcelで保存したときの形式です。変換せず、そのまま渡せます。

渡し方 ファイルの中身(当サイト実測) 向いている場面
.xlsx をそのまま渡す 形式を選ぶ場面が無い(この記事の問題は発生しようがない) ふつうはこれで足ります
CSV UTF-8 で保存して渡す UTF-8(先頭にBOM) 相手のツールがCSVしか受け付けないとき
CSV (コンマ区切り) で保存して渡す UTF-8ではない(日本語環境のWindowsでの実測) UTF-8を前提にするツールに渡す理由がありません

中身の欄は、当サイトが実際に保存してバイトを読んだ結果です(Excel 16.0 ビルド20228・日本語環境のWindows・2026年8月19日)。

ただし、CSVにするとき特有の注意がもう1つあります。Microsoft公式は、CSVでの保存について「作業中のシートだけを保存します。」と明記しています。さらに「ブックをテキスト形式で保存すると、すべての書式が削除されます。」とも書かれています。

まとめると

シートが3枚あるブックをCSVで保存すると、出てくるのは1枚分だけです。「渡したのにデータが足りない」と言われる原因がこれのことがあります。複数シートを丸ごと見てほしいなら、CSVではなく .xlsx を渡すのが正解です。

それでも直らないときに疑う3つ

形式を直しても解決しないなら、原因は文字コードではありません。次の3つを順に確認してください。

  1. データが足りない → シートが1枚しか書き出されていない可能性があります(上のとおり、CSVは作業中のシートだけを保存します)。
  2. アップロード自体が通らない → 上限に当たっている可能性があります。大きさや回数の数字はChatGPTの制限に達したときの対処法にまとめてあります。
  3. 読めてはいるが答えがおかしい → 指示の出し方の問題かもしれません。症状ごとの切り分けはChatGPTが思い通りに動いてくれない時の直し方7にあります。

ひとつ補足しておきます。OpenAI公式のヘルプには、ファイルの文字コードについての記述が1件もありません(当サイトがファイルアップロード関連の公式ヘルプ2ページを走査して確認・2026年8月19日)。公式を読んでも答えが載っていないので、この問題で詰まるのは自然なことです。

あなたの場合はどれか|3つの分かれ道

当てはまるものを1つ選んでください

  • 表の中身をChatGPTに見てもらいたいだけ
    CSVを作らず、.xlsx をそのまま渡してください。この記事の問題は最初から起きません。
  • 相手のツールの都合でCSVでなければならない
    「CSV UTF-8 (コンマ区切り)」で保存し直してください。一覧の上のほう、名前にUTF-8と入っているものです。
  • ChatGPTが出したCSVをExcelで開きたい
    ダブルクリックで開かず、[データ] タブから取り込んでください。Microsoft公式が案内している方法です。

どれにも当てはまらない方へ。「表を渡して分析させる」のではなく「Excelの式を作らせたい」のなら、必要な作業がまったく違います(→ ChatGPTでExcel関数を作ってもらう方法)。毎回ファイルを作り直す手間そのものが負担なら、原因は文字コードではなく作業の組み立て方かもしれません(→ ChatGPTで仕事が速くならない|時間はAIの外側で消えている)。

よくある質問

Q1. 化けたCSVを開き直して、上書き保存すれば直りますか?

おすすめしません。化けた状態で開いた時点で、文字の情報はすでに失われていることがあります。その状態で保存すると、化けた文字がそのまま確定してしまいます。元のExcelファイル(.xlsx)から、形式を選び直して作り直してください。

Q2. UTF-8で保存したのに、1列目だけおかしいと言われます。

先頭に付くBOMが原因のことがあります。当サイトで確認したところ、BOMを取り除かずに読むと、1列目の見出しが『商品名』の3文字ではなく4文字として扱われました(先頭に目に見えない文字が1つ増える)。画面で見比べても絶対に分かりません。ただし多くのツールはBOMを自動で取り除くので、必ず起きるわけではありません。列名が合わないと言われたときに思い出してください。

Q3. Excelを使わず、メモ帳などで直せますか?

文字コードを選んで保存できるテキストエディタなら可能です。ただしすでに化けたファイルを開いて保存し直しても直りません(Q1と同じ理由)。元データがあるなら、Excelから作り直すほうが確実で速いです。ただし、Excelの一覧に UTF-8 のCSVが見当たらず、しかも相手のツールがCSVしか受け付けないという場合は、この方法(文字コードを選べるテキストエディタで保存し直す)が残ります。

Q4. Macや英語版のWindowsでも同じですか?

分かりません。実測したのは日本語環境のWindows 1台だけで、確かめていないことを「同じです」とは書けません。ただし「CSVは、形式そのものには文字コードを書く欄が無いただのテキストである」のは形式そのものの性質なので、環境が変わっても、化けたときの考え方(読む側と書く側の思い違い)はそのまま使えます。

まとめ

  • 当サイトの環境では、Excelの保存形式の一覧にある .csv の項目は2つで、並んでいませんでした。5番目が「CSV UTF-8 (コンマ区切り)」、16番目が「CSV (コンマ区切り)」です。Microsoftのサポートページは、ほかに「CSV (Macintosh)」「CSV (MS-DOS)」も .csv として挙げています。
  • 同じ表を両方で保存したら31バイトと44バイトになり、中身は別物でした。「CSV (コンマ区切り)」のほうはUTF-8ではありませんでした(日本語環境のWindowsでの実測)。
  • 化け方で原因が逆算できます。「�」が並べばUTF-8で読まれている、読める漢字が並べば日本語版Windowsの文字コードで読まれている、アルファベットが並べば欧文の文字コードで読まれています。
  • 文字化けは列を消すことがあります。BOMなしUTF-8のCSVをExcelで開いたら、2列の表が1列に潰れました。化けた表は「読みにくい表」ではなく「列が減った別の表」です。

今日やること(これだけ)

CSVを作るのを一度やめて、元のExcelファイル(.xlsx)をそのままChatGPTに渡してみてください。OpenAI公式が対応形式に挙げているので変換は要りません。それで用が足りるなら、文字コードの話は今後ずっと関係なくなります。相手のツールがCSVしか受け付けない場合だけ、[名前を付けて保存] で名前にUTF-8と入っているほうのCSVを選んでください。

出典

※ 英語のみで公開されている公式ヘルプからの引用・要約は、当サイトが訳したものです。※ この記事の実測値は、Excel 16.0(ビルド 20228)・Windows 11・日本語環境(コードページ 932)の1台で2026年8月19日に取得したものです。ほかの環境では結果が異なる場合があります。仕様は変更されることがあるため、判断の前に上記のリンク先で最新の記載をご確認ください。

コメント

タイトルとURLをコピーしました