Apex Data Loaderで使用される文字コード

CSVファイルを利用してSalesforceへデータをアップロードする。もしくはSalesforceのデータをCSVファイルとしてダウンロードする際には、Apex Data Loaderが便利です。このApex Data Loaderで利用可能なCSVファイルの文字コード(エンコーディング)として、以下のものが利用可能です。

  • UTF-8
    Data Loaderのメニューから[setting] > [settings]と移動し、[Read all CSVs with UTF-8 encoding]を選択すると、ファイルがUTF-8であるものとしてCSVファイルが読み込まれます。
  • MS932(Shift_JIS)
    日本語Windows環境では、なにも設定を行わなければ、CSVファイルがMS932であるものとして読み込まれます。これは、DataLoaderが内部的にJavaの標準ライブラリのjava.io.FileReaderをつかっているからです。FileReaderは、JVMのデフォルト・エンコーディング(file.encoding)を利用してファイルを読み込みます。

もし、日本語OS以外でData Loaderを利用する場合は、Shift_JISのファイルを読み込めませんので注意が必要です。そのような場合は、CSVファイルをUTF-8で用意した上で、[Read all CSVs with UTF-8 encoding]にチェックをつけます。

[参考情報]
Apex Data Loaderのソースコード
http://sforce-app-dl.cvs.sourceforge.net/viewvc/sforce-app-dl/apexdataloader/src/com/salesforce/dataloader/dao/csv/CSVFileReader.java?revision=1.1&view=markup
152行目のopenというメソッドでファイルの読み取りをおこなっています。