1
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?

More than 3 years have passed since last update.

【Workato】CSVファイルの文字化けをなんとかする方法

Posted at

TL;DR

  • WorkatoでShift_JISでエンコードしたい場合
  • Error calculating input for field 'message': U+2757 from UTF-8 to Shift_JISみたいなエラーメッセージが出る

.encode("Shift_JIS", { :invalid => :replace, :undef => :replace, :replace => "?" })
というformulaを使いましょう。

Shift_JISでエンコードする

Workatoのレシピで作成したCSVファイルを開いたとき、それが文字化けしている場合がある。(Excelで開いたときの文字化け)
これはWorkatoではUTF-8という文字コードでテキストを扱っているからである。ExcelではCSVなどのテキストファイルを開くとき、Shift_JISでデコードするため、UTF-8でエンコードされているファイルは文字化けしてしまうのである。

そのため、

  • できたCSVをUTF-8の文字としてデコードする
  • WorkatoでCSVを生成するときにShift_JISでエンコードするように設定する

の2通りがある。今回はformulaを使ってCSVを生成するときにShift_JISでエンコードする方法を記述する。

encode() formula

.encode()というformulaを使うことでテキストを好きな文字コードでエンコードすることができます。
ただし、UTF-8で表現できる文字でもエンコード後の文字コードに存在しない文字に遭遇した場合はエラーになってしまいます...
そこで、.encode()にオプションを記述します。
最終的には、Shift_JISにエンコードしたい場合はこのようなformulaを使用します。

.encode("Shift_JIS", { :invalid => :replace, :undef => :replace, :replace => "?" })

Shift_JISにエンコードできなかった文字は?に自動的に置き換えられます。
これでエラーで止まってしまうことはなくなります。

1
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
1
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?