アクセント付き文字をサポートするために UTF-16LE の Unicode 形式を必要とする PLC アプリケーションがあります。テキストを作成し、次のように変換します。
str = Iconv.conv("utf-16le", "utf-8", str)
次に、次のファイルを出力します。
send_data str, :filename => "sp_table.txt", :type => 'text/plain; charset=utf-16le; header=present;', :disposition => 'attachment'
PLC アプリケーションが文字を表示できません。でファイル タイプのプロパティを読み取るとfile -I
、次のようになります。
sp_table.txt: application/octet-stream; charset=binary
Windows のメモ帳でファイルを開くと、正しく表示されます。エンコードとして Unicode を選択して、メモ帳でファイルを再保存すると、次のようにfile -I
返されます。
sp_table.txt: text/plain; charset=utf-16le
また、メモ帳で保存した後、PLC アプリケーションですべての文字を正しく表示できます。
ファイルを送信するときに別の文字セットを指定する必要がありますか?