我有一个在windows xp上运行的打印/邮件系统,它不支持在邮件列表中使用utf8。我想将邮件列表的代码页转换为相应的Windows本机等效代码页。但据我所知,它并不是一刀切的,而且根据地区的不同,代码页也会有所不同,例如匈牙利、希腊、瑞典、德国、俄罗斯等,更不用说中国传统等等。
有没有一种方法可以检测(比如对于一个记录而言)不应该有多个代码页需要,那么合适的windows代码页是什么?

最佳答案

我能想到的最简单的想法是:
对于所有受支持代码页列表中的每个代码页x:
获取原始Unicode文本
将其转换为代码页x。
把它换回来。
检查是否有任何变化。
如果没有,恭喜你,这是要使用的代码页。
我相信这个解决方案可能会有一些小问题(一些罕见的字符可能不会往返,但看起来会一样),但在大多数情况下,它应该是好的。
而且,很容易发现一个文本不适合一个遗留编码,所以您需要做好准备。您可以选择与原始版本差别最小的版本。

关于windows - 如何为UTF8文本检测等效的Windows代码页,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31731971/

10-12 06:31