ADVERTISEMENT

【Salesforce】インポートしたCSVが文字化けする時の文字コードと項目対応の直し方

【Salesforce】インポートしたCSVが文字化けする時の文字コードと項目対応の直し方
🛡️ 超解決

Salesforceにデータをインポートする際、CSVファイルの文字化けに悩まされることは少なくありません。特に日本語を扱う場合、文字コードの違いや項目名の不一致が原因で、インポート後にデータが正しく表示されないことがあります。この記事では、文字化けの原因を切り分け、CSVの文字コードと項目対応を正しく修正する方法を解説します。実際の手順を追いながら、失敗しやすいポイントもあわせて確認してください。

【要点】この記事で確認すること

  • 最初に見る場所: CSVファイルの文字コード(UTF-8 BOM付きかどうか)、およびインポートウィザードの項目マッピング画面で、CSVの列名がSalesforceの項目名(API名)と一致しているか。
  • 切り分けの軸: 文字化けが「全角文字がすべて「?????」になる」「一部の記号が化ける」「項目の値がずれて別フィールドに入る」の3パターンで、それぞれ原因が異なります。
  • 注意点: 会社のPCでSalesforceにインポートする場合、ファイルの保存形式や文字コードの変更はシステム管理者の許可を得てから行うことをおすすめします。また、組織のエンコード設定(Shift_JIS固定など)がある場合は、それに合わせる必要があります。

ADVERTISEMENT

1. 文字化けの主な原因

SalesforceでCSVをインポートするときの文字化けには、いくつかの典型的な原因があります。それぞれの原因が異なる症状を引き起こすため、症状から原因を逆引きすると効率的です。

1-1. CSVの文字コードがSalesforceの期待するものと異なる

Salesforceの標準インポートウィザードは、UTF-8(BOM付き)を推奨しています。特にExcelでCSVを保存するとき、デフォルトではShift_JIS(CP932)で保存されることが多く、そのままインポートすると日本語の全角文字がすべて「?????」に化けます。また、BOMなしUTF-8でも文字化けは発生しませんが、BOM付きUTF-8のほうがより確実です。

1-2. CSVのヘッダー行とSalesforceの項目名が一致していない

インポートするCSVの先頭行(ヘッダー)には、Salesforceの項目を識別するための「API名」を記述する必要があります。多くのユーザーは日本語の表示名(例:「会社名」「氏名」)をヘッダーに書いてしまい、マッピングがうまくいきません。マッピングが失敗すると、データが正しいフィールドに入らず、別の項目に書き込まれたり、空欄のままインポートされたりします。結果として、一見文字化けのように見える場合があります。

1-3. BOMの有無による認識の違い

CSVファイルの先頭にBOM(Byte Order Mark)が付いているかどうかも、文字化けの一因です。Salesforceのインポート機能はBOM付きUTF-8を正しく認識しますが、BOMなしUTF-8でも動作します。ただし、Windowsのメモ帳などで保存するときにBOMが自動で付いたり付かなかったりするため、意図せずBOMなしになって文字化けすることがあります。特にメモ帳の「UTF-8」はBOM付き、「UTF-8(BOMなし)」は明示的に選択する必要があります。

2. インポート前に確認すべきCSVの設定

実際にインポートを実行する前に、CSVファイルの文字コードとヘッダー項目を確認します。以下の手順で準備を整えてください。

2-1. 文字コードをUTF-8 BOM付きに変換する(Excel編)

  1. ExcelでCSVファイルを「データ」タブ → 「テキストまたはCSVから」で開きます(ファイルを直接ダブルクリックで開かない)。
  2. 開く際に、元のファイルの文字コードを「日本語(Shift-JIS)」に指定して読み込みます。
  3. 読み込んだデータを確認したら、[ファイル]→[名前を付けて保存]を選択します。
  4. ファイルの種類で「CSV UTF-8(カンマ区切り)(*.csv)」を選びます。これでBOM付きUTF-8で保存されます。
  5. 保存後、メモ帳で開き、文字化けしていないか、先頭に「」という文字が表示されないことを確認します(BOMがある場合、メモ帳では表示されません)。

2-2. ヘッダー行をSalesforceのAPI名に書き換える

CSVの1行目には、Salesforceオブジェクトの「API名」を記述します。API名は設定画面の「項目」一覧で確認できます。例えば「Name」「Company」「Email」などがAPI名です。日本語表示名(「名前」「会社」「メール」)ではマッピングできません。次の表はよく使われる項目の例です。

表示名(日本語) API名
取引先名 Name
会社名 Company
メール Email
電話 Phone
郵便番号 MailingPostalCode

3. 文字コード変換の具体的な手順

文字コードがShift_JISのままのCSVを変換するには、いくつかの方法があります。ここではWindows標準のメモ帳とExcelを使った方法を紹介します。

3-1. メモ帳で変換する

  1. CSVファイルをメモ帳で開きます。ファイルが文字化けしていても問題ありません。
  2. メニューの[ファイル]→[名前を付けて保存]を選びます。
  3. ダイアログ下部の「文字コード」を「UTF-8」に変更します(ここで選ぶUTF-8はBOM付きです)。
  4. 元のファイル名と同じ名前で上書き保存します。
  5. 保存後、再度メモ帳で開き、文字化けが解消されていることを確認します。

3-2. Excelで変換する(上記手順の再掲ですが重要)

Excelで開く場合は、必ず「データ」タブからインポートする方法で開いてください。直接開くと自動変換されてしまい、文字コードが維持されないことがあります。手順は2-1で示した通りです。

4. 項目対応の直し方

CSVのヘッダーをSalesforceのAPI名に修正するには、項目の一覧を取得する必要があります。設定画面から該当オブジェクトの「項目」を開き、各フィールドのAPI名をコピーしてください。すでにCSVに日本語ヘッダーがある場合は、以下のように置き換えます。

間違ったヘッダー(日本語) 正しいヘッダー(API名)
LastName
FirstName
タイトル Title
部門 Department
取引先責任者ID ContactId

ヘッダーを修正したら、CSV内のデータに日本語や特殊文字が含まれていても問題なくインポートできます。ただし、項目の最大長や形式(電話番号など)はSalesforce側でバリデーションされるため、事前にルールを確認してください。

5. よくある失敗パターンと対策

実際のインポートで発生しやすい失敗をまとめました。同じ症状が出たときの参考にしてください。

症状 原因 対策
日本語がすべて「?????」になる CSVがShift_JISで保存されている UTF-8 BOM付きに変換する
特定の記号(®、™など)が抜ける 文字コード非対応、またはExcelの自動変換 UTF-8で保存し、インポート前にメモ帳で確認
データが別のフィールドに入っている ヘッダー名が一致していない、またはカンマで分割されている API名に修正し、カンマ区切りをダブルクォーテーションで囲む
インポート完了後、特定の行だけ空欄 その行に不正な改行やカンマのエスケープ漏れ CSVをテキストエディタで開き、行構造を確認

このほか、ExcelでCSVを開くと先頭の「0」が消える(電話番号など)問題もあります。Salesforceのインポートでは「0」から始まるデータはテキストとして扱われるため、CSV上で先頭に「’」を付けたり、セルの書式設定で文字列にする必要はありません。ただし、Excelで編集する際に自動変換されないよう注意してください。

6. それでも文字化けする場合のチェックリスト

上記の対策を試しても文字化けが解消しない場合は、以下を確認してください。特に管理者に問い合わせる前に、自分で確認できる項目をリストアップします。

  • Salesforceの組織のデフォルトエンコード: 一部の組織ではShift_JISが強制されている場合があります。設定→「言語とロケール」で確認できます。
  • インポートウィザードの設定: インポート時に「ファイルの文字コード」を手動で指定できる項目があれば、UTF-8を選択します。
  • CSVファイルがUTF-8以外の文字コードで開かれていないか: 他のアプリケーションで開いたときに文字化けしていないか、メモ帳で確認します。
  • 項目に数式やルックアップが設定されていないか: インポート先の項目が自動計算フィールドの場合、値が反映されないことがあります。
  • CSVの列数が多すぎないか: インポートできる列数に上限がある場合、超過した列は無視されます。

管理者に確認すべき内容としては、組織の文字コード設定、インポート可能なファイルサイズ、使用可能なオブジェクト(カスタムオブジェクトなど)が挙げられます。特にカスタム項目のAPI名は管理者しか把握していない場合があるため、事前に一覧をもらうとスムーズです。

7. まとめ

SalesforceへのCSVインポートで文字化けが発生した場合、まずはCSVの文字コードをUTF-8 BOM付きに統一し、ヘッダー行をAPI名に修正することが基本です。症状別に原因を切り分ければ、必要な修正は限られています。よくある誤りとして、Excelで直接CSVを開いて保存してしまうことや、日本語表示名をそのままヘッダーに使ってしまうケースが多いため、注意してください。どうしても解決しない場合は、組織の設定やファイルの構造を再点検し、管理者と連携して原因を特定しましょう。正しい手順でインポートすれば、データはきれいに取り込まれ、業務の効率化につながります。


ADVERTISEMENT

この記事の監修者
✍️

超解決 第一編集部

疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。

ADVERTISEMENT