- 2008/05/15 Thu
-
昼飯抜き。
Sample Message Text File (Windows)
http://msdn.microsoft.com/en-us/library/aa385769(VS.85).aspxBe aware that you must use a Unicode-compatible editor to simultaneously support the characters used in different written languages.としか書いていないけど、例によってUTF16LEで保存しろということらしい。
BOMはあってもなくても可。出力結果にも差異はなし。Message Compiler (MC_exe) (Windows)
http://msdn.microsoft.com/en-us/library/aa385638(VS.85).aspx-a
Specifies the input file is ANSI (default).-uANSI文字がデフォルトなので -u 必須。
Specifies that the input file is Unicode.自前で使用するなら、FormatMessage Function (Windows)
http://msdn.microsoft.com/en-us/library/ms679351(VS.85).aspxdwLanguageId
The language identifier for the requested message. This parameter is ignored if dwFlags includes FORMAT_MESSAGE_FROM_STRING.に MAKELANGID(LANG_JAPANESE, SUBLANG_DEFAULT) とか MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US) を。あと、ActivePerlでUTF16を扱うには一手間必要。スクリプティング言語資料室(仮)
http://www.kt.rim.or.jp/~kbk/ActivePerlで UTF-16(BE|LE)のデータを出力するときの注意事項
ActivePerlではファイルをオープンしようとすると、特に指定しなければ テキストモードでオープンします。 このため出力の文字コードにUTF-16のデータを出力しようとしたとき、 テキストモード時に行われる LF → CR LF 変換が変なタイミングで 行われてしまうため、出力結果がおかしくなります。 対応策は 183 : Writing a Unicode file via perl ... にあるとおり、ファイルのオープン時の指定を工夫するというものです。183 Writing a Unicode file via perl __
http://blogs.msdn.com/brettsh/archive/2006/06/07/620986.aspxif ( $ESENT ){ #ifdef ESENT open( INIFILE, "<:raw:encoding(UTF16-LE):crlf:utf8", "$INIFILE" ) || die "Cannot open $INIFILE: "; print INIFILE "\x{FEFF}"; # print BOM (Byte Order Mark) for the unicode file } else { #else open( INIFILE, "<$INIFILE" ) || die "Cannot open $INIFILE: "; } #endif
ActivePerlでのUTF-16出力 - a geek後輩が引っ越し先を探しているとかで、一之江の不動産屋に案内することに。
http://d.hatena.ne.jp/hiratara/20070115/1168874035
駅からすぐの不動産屋というか、取締役宅の近所の不動産屋というか、うちの近所の不動産屋というか、とにかく近所。
1件目に案内された物件が割と良い物件だったので後輩即決。
とりあえす祝い酒。
多言語メッセージリソースメモ: