2017-12-12 10 views
0

Strings.StrConvを使用して簡体字中国語を繁体字中国語に変換すると、いくつかの単語が「?」として返されます。vb.net Strings.StrConv簡体字中国語から繁体字中国語への変換では "?"

Dim input as String = "简体中文"; 
Dim output as String = Strings.StrConv(input, VbStrConv.TraditionalChinese); 
messageBox.show("input[" & input & "] output[" & output & "]") 

期待される結果: 入力[简体中文]出力[簡體中文]

ガット結果:[?體中文] 入力[简体中文]出力

私だけでこの問題を取得します簡体字中国語から繁体字中国語への変換は問題ありません。 これを修正する方法を知っている人がいらっしゃいますか?

+0

私は100%確実ではないですが、それは通常、使用中のフォントがdoesnのことを示し、その特定の文字を理解していない。デバッガの実際のデータを見ると、それにはあなたが期待するものが含まれていますか? – jmcilhinney

+0

'ChrW(&H7B80)&ChrW(&H4F53)&ChrW(&H4E2D)&ChrW(&H6587)'という文字ごとにUnicodeの16進表記を試してみてください。私はこのフィドルのようにzh-Hant表現を正しく取得しています:https://dotnetfiddle.net/5abU3p。 –

+0

@jmcilhinneyデバッガでも同じ "?體中文"を表示します。ありがとう! – researcher

答えて

0

最後に、簡体字中国語ロケールIDをStrConvの3番目のパラメータに入れて解決しました!

正しく
Dim input as String = "简体中文"; 
Dim output as String = Strings.StrConv(input, VbStrConv.TraditionalChinese, 2052); 
messageBox.show("input[" & input & "] output[" & output & "]") 

ガット結果:入力マイクロソフトから[简体中文]出力は、[簡體中文]

のLocaleID:https://msdn.microsoft.com/en-us/library/ms912047(WinEmbedded.10).aspx

関連する問題