好的,我有一个包含 utf-8 代码的小测试文件。在这里(语言是 Wolof)
Fˆndeen d‘kk la bu ay wolof aki seereer a fa nekk. DigantŽem ak
Cees jur—om-benni kilomeetar la. MbŽyum gerte ‘pp ci diiwaan bi mu
这就是它在香草编辑器中的样子,但在十六进制中它是:
xxd test.txt
0000000: 46cb 866e 6465 656e 2064 e280 986b 6b20 F..ndeen d...kk
0000010: 6c61 2062 7520 6179 2077 6f6c 6f66 2061 la bu ay wolof a
0000020: 6b69 2073 6565 7265 6572 2061 2066 6120 ki seereer a fa
0000030: 6e65 6b6b 2e20 4469 6761 6e74 c5bd 656d nekk. Digant..em
0000040: 2061 6b0d 0a43 6565 7320 6a75 72e2 8094 ak..Cees jur...
0000050: 6f6d 2d62 656e 6e69 206b 696c 6f6d 6565 om-benni kilomee
0000060: 7461 7220 6c61 2e20 4d62 c5bd 7975 6d20 tar la. Mb..yum
0000070: 6765 7274 6520 e280 9870 7020 6369 2064 gerte ...pp ci d
0000080: 6969 7761 616e 2062 6920 6d75 0d0a iiwaan bi mu..
第二个字符 [cb86] 是 a-grave [à] 的非标准编码,它在 Web 文档中非常一致,尽管在“真正的”utf-8 中,a-grave 将是 c3a0。真正的 utf-8 在 Mac 和 Windows 下运行良好。
我通过使用包含 { ^ à } 对的字符映射来处理伪造的 utf-8,因为那个小插入符号是 cb86 生成的,并且在 MAC 上一切正常,用于显示文本(在文本小部件中),如下所示:
Fàndeen dëkk la bu ay wolof aki seereer a fa nekk. Digantéem ak
Cees juróom-benni kilomeetar la. Mbéyum gerte ëpp ci diiwaan bi mu
在 PC 上 - 使用同一个文件(共享)读入的前三个字符是 46 cb 20(不使用 fconfigure)。我已经遍历了所有可能的编码,并且永远无法使用相同的地图。[有二十个允许 46 cb 86]
对不起,这太长了,但如果有人有线索,我很想听听。
电话僧侣