读取本地文本字符集问题



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

我的问题是是否有选项可以确定客户端计算机上的编码?

此致敬意克里斯1983

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

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

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

最新更新