0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Power BI で、CSV が文字化けしたときの直し方(「元のファイル」を変える)

0
Posted at

この記事は、自分のブログ「BI探検ノート」の記事を、Qiita 向けに転載したものです。元記事: https://bi.nagashigoto.com/blog/powerbi-csv-mojibake-file-origin/

CSV を読み込んだら、日本語の列が「�X��」のような文字になった。プレビューの画面で、文字コードを選び直すと、直せます。

確認日: 2026年10月19日。Power BI Desktop(日本語版、2.159.883.0)で、ダミーの CSV を使って確かめました。確認できていないことは、末尾にまとめました。

結論(30秒版)

  • 読み込む前のプレビューで、「元のファイル」(文字コード)を選び直します。Shift-JIS の CSV なら「932: 日本語 (シフト JIS)」、UTF-8 なら「65001: Unicode (UTF-8)」です。
  • 読み込んだあとに気づいたときは、Power Query の「ソース」の歯車から、同じ項目を変えられます。ただし、そのあと「変更された型」のステップが失敗することがあり、そのステップの削除が必要でした。
  • 私の環境(日本語の Windows)では、Shift-JIS も UTF-8 も、自動で正しく判定されて、化けませんでした。化けるのは、判定が外れたときと考えられますが、その条件は再現できていません。

化けたときの見た目

Shift-JIS で保存した CSV(店舗名・商品名・売上の10行のダミー)を、「データを取得」の「テキスト/CSV」で開きました。プレビューの上には、「元のファイル」「区切り記号」「データ型検出」の3つの選択欄があります。

私の環境では、「元のファイル」は、自動で「932: 日本語 (シフト JIS)」が選ばれ、化けませんでした。化けた状態を作るために、「元のファイル」を、手で「65001: Unicode (UTF-8)」に変えました。すると、日本語の列が、すべて化けました(数字の列は、化けません)。

プレビューの画面。「元のファイル」が「65001: Unicode (UTF-8)」で、日本語の2列が「�X��」のような文字になっている。売上の数字は読める

直し方1: 読み込む前に、プレビューで直す

  1. プレビューの「元のファイル」を開きます。
  2. 文字コードを選びます。リストには、「932: 日本語 (シフト JIS)」「65001: Unicode (UTF-8)」「51932: 日本語 (EUC)」「50220: 日本語 (JIS)」などがあります。
  3. プレビューが、正しい日本語になったことを確認して、「読み込み」(または「データの変換」)を押します。

「元のファイル」のリストを開いた画面。「932: 日本語 (シフト JIS)」が選ばれ、そのほかの文字コードが並んでいる

どの文字コードか分からないときは、日本語のシステムで作った CSV なら、まず「932: 日本語 (シフト JIS)」、Excel の「CSV UTF-8」や、多くのツールの書き出しなら、「65001: Unicode (UTF-8)」を、試します(私の経験則で、公式の説明ではありません)。

直し方2: 読み込んだあとに気づいたとき

「データの変換」で、Power Query エディターを開きます。

  1. 「適用したステップ」の「ソース」の、右の歯車を押します。
  2. 「コンマ区切り値」のダイアログの、「元のファイル」を変えて、OK を押します。

ソースの編集ダイアログ。「元のファイル」が「65001: Unicode (UTF-8)」で、その上に「形式を指定してファイルを開く」、下に「改行」と「区切り記号」の欄がある

数式バーの、Csv.Document(...) の中の Encoding=65001 が、Encoding=932 に変わります。「ソース」のテーブルは、正しい日本語になりました。

「変更された型」が失敗したら

私の環境では、このあと「変更された型」のステップが、次のエラーで失敗しました。

Expression.Error: テーブルの列 '�X��' が見つかりませんでした。

「変更された型」の数式バーとエラーの表示。化けた列名を参照していて、「テーブルの列 '�X��' が見つかりませんでした」と出ている

化けていた列名を、ステップの数式が覚えていたためと考えられます。「変更された型」のステップを、×で削除すると、「昇格されたヘッダー数」のテーブルが、正しい列名(店舗・商品名・売上)で表示されました。

「変更された型」を削除したあとのテーブル。列名は店舗、商品名、売上で、日本語が正しく表示されている

型(売上を整数にする、など)は、改めて設定が必要です。

公式の記載

Microsoft Learn(日本語版の Text/CSV コネクタ)には、次の説明があります。

  • 「ファイルの元」(私の画面では「元のファイル」)のドロップダウンで、ファイルを作るのに使われた文字セットを選べます。
  • 非構造化テキストの節に、「現在、文字セットは推論されず、UTF-8 は UTF-8 BOM で始まる場合にのみ推論されます」とあります。
  • ソースのステップを編集する(歯車)と、読み込み時とは、少し違うダイアログになります。

私の環境では、BOM のない UTF-8 の CSV も、「65001: Unicode (UTF-8)」と判定されて、化けませんでした。公式の説明と、私の観察との間に、差があります。理由は、確認していません。

この記事で確認できたこと・できていないこと

確認日: 2026年10月19日。Power BI Desktop(Windows、日本語版、2.159.883.0、未サインイン)、ダミーの CSV 10行(Shift-JIS、UTF-8、UTF-8 BOM 付き、先頭250行が英数字のものを含む)。

確認できたこと

  • 日本語の Windows では、Shift-JIS、UTF-8(BOM あり・なし)は、自動で正しい文字コードが選ばれ、化けなかったこと
  • 「元のファイル」を手で誤った値にすると、日本語の列が化けること
  • プレビューで「元のファイル」を戻すと直ること
  • 読み込んだあとは、「ソース」の歯車から直せること。そのあと「変更された型」が失敗し、削除で直ったこと

確認できていないこと

  • 文字化けが、自然に起きる条件(ほかの PC の地域設定、英語版の Windows、判定が外れるファイル)
  • 「変更された型」を削除して、型を作り直したあとの「閉じて適用」の結果
  • Excel の「CSV UTF-8」で保存したファイルでの動き
  • ほかのバージョンや、英語版での名称

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?