我正在尝试使用utf8_unicode_ci
排序规则从SQL表中获取行。
我尝试使用this tool生成转换,但它并没有真正帮助。
在表格中,单元格包含:
Hocam ” You can go out ” ne demek ?
+ Dışarı çıkabilirsin.
- Teşekkürler
使用该工具解码(编码代码为windows-1254 / iso 88599):
Hocam ” You can go out ” ne demek ?
+ D??ar? ç?kabilirsin.
- Te?ekkürler
我正在设置这样的编码
WebClient wc = new WebClient();
//wc.Encoding = Encoding.GetEncoding("ISO-8859-1");
wc.Encoding = new CustomEncoding();
答案 0 :(得分:2)
Dışarı çıkabilirsin
字母ı是Unicode代码点U + 0305。下一个字母ş是U + 0351。您可以找到ISO-8859-1 here的代码表。请注意,这些代码点都不会出现在该图表上。
所以你所知道的事实是8859-1不可能对这些字符进行编码,因此完全可以得到?
。
还有其他代码页做有这些字符,旨在处理土耳其语。像ISO-8859-3,ISO-8859-9和Windows-1254。当然还有UTF-8,它可以在Unicode中重现任何代码点,这与其他8位编码不同。但不是这样,你会看到“DıÅarııkabilirsin”。
接下来应该尝试哪一个是不可能从问题中猜出来的。你有3个好的候选人,给他们一个机会。接下来与服务器所有者交谈,他使用错误的代码页对dbase数据进行编码可能是他的问题。只有他能解决这个问题。
答案 1 :(得分:0)
尝试使用
UTF8Encoding utf8 = new UTF8Encoding();
WebClient wc = new WebClient();
wc.Encoding = utf8;
答案 2 :(得分:0)
使用“ Silverlight Tex编码类生成器”将修复