2

我正在使用输入类型文件和 FileReader.readAsText() 读取本地文本文件。当本地文本文件包含像Ü这样的字符时,就会出现问题。在这种情况下,它被转换为ï¿。当然,我可以手动将编码设置为iso8859-1作为 FileReader.readAsText(File, encoding) 的参数,但问题是我不知道用户设置了什么样的编码。

我的问题是是否有一个选项来确定客户端机器上的编码?

最好的问候 kkris1983

4

1 回答 1

3

您需要分析文本文件的原始二进制文件以最好地猜测编码是什么。javascript AFAIK 中没有为此的任何库,但您可以从其他语言移植一个。

由于这不是很健壮,因此您还应该提供手动覆盖,例如Characters not showing correctly? Change encoding:

如果您检测到它是西方 Windows 机器,您还可以使用智能默认值,例如 ISO-8859-1。

于 2012-04-26T17:29:26.270 回答