Anaplan Connect での文字化けや "Invalid UTF-8 start byte" の対応策

Highlighted
Contributor

Anaplan Connect での文字化けや "Invalid UTF-8 start byte" の対応策

サポートに多数寄せられる表題について、こちらでわかっていることをシェアします。

 

日本語を含むアクションを実行したとき、文字化けや "Invalid UTF-8 start byte" のエラーがよく見られますが、このエラーの発生原因はエンコードの不一致になります。

 

エンコードを気にかけなければならないのは下記の3箇所になります:

  • スクリプトファイル
  • 実行環境
  • JVM(Java)

 

例①

set Operation=-debug -service "https://api.anaplan.com" -auth "https://auth.anaplan.com" -export "日本語エクスポート" -execute -get "こんにちは.csv"

Shift JIS で保存された上記スクリプトを実行環境 chcp 850 (ISO-8859-1) で走らせた場合、下記エラーが出力されます。

 

 

2020-04-15 14:48:50 ERROR [c.a.client.Program  :876  ] 28244 |--   Export "oüEu{iUaGaNaXa|u[ag" not found in workspace 8a81b08e5444b72f0154c4bc58fa2838, model 7E461C7B598F4DA9A4B3722167982449
2020-04-15 14:48:50 ERROR [c.a.client.Program  :261  ] 28244 |--   An import, export, action or process must be specified before -execute
2020-04-15 14:48:50 ERROR [c.a.client.Program  :434  ] 28244 |--   Export failed - ignoring content

 

 

chcp 850はそもそも日本語を扱うことをできず、エンコードの不一致によりエラーとなり、失敗しました。

 

例②

set Operation=-debug -service "https://api.anaplan.com" -auth "https://auth.anaplan.com" -export "日本語エクスポート" -execute -get "こんにちは.csv"

Java 実行コマンドに -Dfile.encoding=UTF-8 オプションを与えてShift JIS で保存された上記スクリプトを実行環境 chcp 932 (Windows Shift_JIS対応エンコード) で走らせた場合、エクスポートは正しく実行されますがコンソール上の出力は文字化けします。

 

 

2020-04-15 15:08:36 INFO  [c.a.client.Task     :-1   ] 37156 |--   exportName - 譌・譛ャ隱槭お繧ッ繧ケ繝昴・繝・
2020-04-15 15:08:37 INFO  [c.a.c.l.LogUtils    :52   ] 37156 |--   竊・竊・竊・竊・竊・竊・竊・竊・竊・竊・竊・竊・竊・ 竊・竊・竊・竊・竊・竊・竊・竊・竊・竊・竊・竊・竊・竊・竊・竊・竊・
2020-04-15 15:08:37 INFO  [c.a.c.ServerFile    :98   ] 37156 |--   Downloading file C:\Anaplan\Integration\scripts\anaplan-connect-1.4.4\bin\縺薙s縺ォ縺。縺ッ.csv
2020-04-15 15:08:38 INFO  [c.a.client.Program  :445  ] 37156 |--   The server file 譌・譛ャ隱槭お繧ッ繧ケ繝昴・繝・has been downloaded to C:\Anaplan\Integration\scripts\anaplan-connect-1.4.4\bin\縺薙s縺ォ縺。縺ッ.csv

 

 

対応策

対応策は下記3つのエンコードを揃えることになります。

  • スクリプトファイル
  • 実行環境
  • JVM(Java)

 

スクリプトファイルのエンコード変更方法

サクラエディタをご利用の場合、画面右下のRECの左隣にある枠をダブルクリックすることで変更可能です。

 

実行環境のエンコード変更方法

コマンドプロンプト、もしくはスクリプトで chcp <数字> を実行します。

<数字> は任意のエンコードに合わせ変更します。

chcp 932 --> Shift JIS / SJIS

chcp 65001 --> UTF-8

 

JVM(Java)

AnaplanClient.bat の ”set JAVA=...” 直下に下記行を追加します

set JAVA_OPTS=-Dfile.encoding=<エンコード>

<エンコード> は任意のエンコードに合わせ変更します。

-Dfile.encoding=Shift_JIS --> Shift JIS / SJIS

-Dfile.encoding=UTF8 --> UTF-8

もしくは、下記システム環境変数定義します

JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF8