UnicodeStringからJISコードへの変換時に起こる波ダッシュ問題の回避策

UnicodeStringをJISコードに変換すると「~」が文字化けします。

UnicodeString uni = L"10~20";
AnsiStringT<50220> jis = uni; //=> 「~」が文字化けする

DEKOさんがこの問題の回避策を作成してくださりました

MECSUtils ver1.30で導入されたMecsMappingFixJA関数を使うと、
波ダッシュ問題を回避することができます。

#include "MECSUtils.hpp"

UnicodeString uni = L"10~20";
uni = Mecsutils::MecsMappingFixJA(uni);
AnsiStringT<50220> jis = uni; //=>「10~20」

すばらしい。

ありがとうございました。

追記:
MECSUtils 1.33で関数名が変更されました。
UnicodeStringの波ダッシュ問題の回避策のまとめをご覧下さい。

コメント

  1. Pingback: perlでメール送信時の いわゆる波ダッシュ「〜」問題 | perlとMysqlと鯖管メモ他ぁ

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください