我正在使用Windows.Storage.FileIO.readTextAsync
从磁盘读取.json文件。
一切都很好,直到我在文件中放入一些非英文字母,如ÆÅØ
我得到的错误是(丹麦语的粗略翻译): WinRT:目标多字节代码页中不存在Unicode字符的映射。
任何想法如何在WinJs中读取这些字符?
答案 0 :(得分:2)
我发现了问题。
当我用记事本手动创建文件时,我将其设置为键入ANSII而不是utf8。 我重新打开了文件 - >保存为和更改类型并覆盖它。
答案 1 :(得分:0)
您可以通过将编码从默认值(Utf8
)更改为Utf16
来解决此问题。 readTextAsync
method接受第二个参数,即UnicodeEncoding标志:
Windows.Storage.FileIO.readTextAsync(
file,
Windows.Storage.Streams.UnicodeEncoding.utf16LE
).done( ... );
如果需要,您可以使用utf16BE
标志(请参阅上面的链接)。