请参阅主题,请注意,此问题仅适用于.NET compact框架.这种情况发生在Windows Mobile 6 Professional SDK附带的模拟器以及我的英文HTC Touch Pro(所有.NET CF 3.5)上.iso-8859-1代表西欧(ISO),它可能是除了us-ascii之外最重要的编码(至少当一个用户网帖的数量).
我很难理解为什么不支持这种编码,而支持以下版本(同样在模拟器和我的HTC上):
iso-8859-2(中欧(ISO))
iso-8859-3(Latin 3(ISO))
iso-8859-4(波罗的海(ISO))
iso-8859-5(西里尔文(ISO))
iso-8859-7(希腊语(ISO))
那么,支持希腊语比支持德语,法语和西班牙语更重要吗?任何人都可以对此有所了解吗?
谢谢!
安德烈亚斯
我会尝试使用"windows-1252"作为编码字符串.根据维基百科,Windows-1252是ISO-8859-1的超集.
System.Text.Encoding.GetEncoding(1252)
这篇MSDN文章说:
.NET Compact Framework支持所有设备上的字符编码:Unicode(BE和LE),UTF8,UTF7和ASCII.
对代码页编码的支持有限,并且只有在设备的操作系统识别编码时才有.
如果设备上没有所需的编码,.NET Compact Framework将抛出PlatformNotSupportedException.
我相信所有(或至少很多)ISO编码都是代码页编码,属于"有限支持"规则.作为替代品,UTF8可能是您最好的选择.