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?

【OutSystems】Consume REST APIの文字化けの対処

Posted at

はじめに

OutSystemsでConsume REST APIを使用してデータを取得した際、レスポンスが文字化けする現象が発生しました。
本記事では、その原因と具体的な対処方法について解説します。
同様の問題に直面された方の参考になれば幸いです。

動作環境

  • OutSystems(バージョン 11)

問題

Consume REST APIから取得したレスポンスが文字化けした状態で出力される問題が発生しました。
例えば、ほげほげという日本語がけけのように表示されます。

原因

OutSystemsでは、Consume REST APIによるレスポンスのデフォルト文字コードがISO-8859-1として扱われます。そのため、UTF-8でエンコードされたレスポンスをそのまま表示しようとすると、文字コードの不一致により文字化けが発生します。
ISO-8859-1は西欧言語に特化した文字セットであり、日本語などのマルチバイト文字には対応していません。

対処

文字化けを防ぐためには、レスポンスのエンコーディングを正しく処理する必要があります。具体的には、Content-Typeヘッダーにapplication/json; charset=UTF-8と設定します。

OutSystemsでは、Consume REST APIのOnAfterResponseイベント内で、BinaryDataToTextアクションを使用して、ResponseBinaryUTF-8に変換した後、その結果をCustomizedResponse.ResponseTextに設定することで、文字化けを回避できます。

おわりに

APIを利用する際には、レスポンスの文字エンコーディングにも注意を払う必要があります。特にOutSystemsのようにデフォルトで特定の文字コード(ISO-8859-1)が想定されている場合、文字化けが発生しやすくなります。
外部APIと連携する場面では、レスポンスの内容とヘッダー情報を確認し、想定通りの文字コードで処理されているか確認することが重要です。
本記事が、OutSystemsでREST APIを使う際のトラブル解決に役立つことを願っています。

参考文献

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?