これは InterSystems FAQ サイトの記事です。
Content-Typeにcharset 情報が含まれていない場合、IRIS/Cachéは文字コードを判断できず文字コード変換が行われません。
そこで、以下のように、「自動的な文字変換を行わず、UTF-8に変換する処理を記述」することで、その指定がある無しに関わらず、対応することができます。
// requestオブジェクトは以下のように生成 // 詳細処理は省略// set request=##class(%Net.HttpRequest).%New()// リクエスト時に、文字変換を行わないように指定set request.ReadRawMode=1do request.Send("POST",URL)
// 受取ったデータを、UTF-8に変換してから、JSON変換set response = request.HttpResponse.Data
set data = response.Read()
set data2 = $zcvt(data,"I","UTF8")
set response = {}.%FromJSON(data2)
write response..png)

.png)
