この文字列は、C# アプリケーションの URL から HTTP Post 経由で返されました。これには、次のような漢字が含まれています。
Gelatos® Colors Gift Set䏿–‡
問題は、私はそれを変換したいです
Gelatos® Colors Gift Set中文
両方の文字列は実際には同一ですが、エンコード方法が異なります。C# ではすべてが UTF16 であることを理解しています。ここで、あるエンコーディングから別のエンコーディングへの変換に関する多くの投稿を読んでみましたが、うまくいきませんでした。
誰かが助けてくれることを願っています。
C# コードは次のとおりです。
WebClient wc = new WebClient();
json = wc.DownloadString("http://mysite.com/ext/export.asp");
textBox2.Text = "Receiving orders....";
//convert the string to UTF16
Encoding ascii = Encoding.ASCII;
Encoding unicode = Encoding.Unicode;
Encoding utf8 = Encoding.UTF8;
byte[] asciiBytes = ascii.GetBytes(json);
byte[] utf8Bytes = utf8.GetBytes(json);
byte[] unicodeBytes = Encoding.Convert(utf8, unicode, utf8Bytes);
string sOut = unicode.GetString(unicodeBytes);
System.Windows.Forms.MessageBox.Show(sOut); //doesn't work...
サーバーからのコードは次のとおりです。
<%@CodePage = 65001%>
<%option explicit%>
<%
Session.CodePage = 65001
Response.charset ="utf-8"
Session.LCID = 1033 'en-US
..... response.write (strJSON)
%>
Web からの出力は正しいです。しかし、C# アプリケーションへの http ストリームでいくつかの変更が行われたかどうか疑問に思っていました。
ありがとう。