我正在尝试使用jquery.csvToTable插件将csv文件中的数据显示在网页上,csv文件采用ANSI编码且包含日文文本,但网页采用UTF-8编码,而JavaScript不支持ANSI编码。有没有可能将数据转换为UTF-8或者存在其他方法?以下是需要翻译的代码:$.get(csvFile, function(data) {
非常抱歉我的英语不好,谢谢!
$.get
,所以ajax层需要知道它正在处理什么。你需要确保服务器在HTTP响应中返回正确的字符集信息,包含CSV文件,这样浏览器就知道字符数据的格式。一旦你这样做了,浏览器就会对JavaScript进行必要的从原始格式到UTF-16的转换。具体来说,如果你的CSV文件是使用Windows-1252字符集(有时人们称之为“ANSI”,尽管这不正确),那么这将是你的服务器应该与文件一起返回的Content-Type
头。Content-Type: text/csv; charset=windows-1252
......但是如果你的内容是日文,我认为它不会使用Windows-1252编码,因为它只支持拉丁字符集(非常有限)。如果你在使用Windows系统,更可能的是使用代码页932,即:
Content-Type: text/csv; charset=Windows-31J
...或者如果您使用的是*nix,也许是EUC-JP:
Content-Type: text/csv; charset=EUC-JP
function encode_utf8(s) {
return unescape(encodeURIComponent(s));
}
function decode_utf8(s) {
return decodeURIComponent(escape(s));
}
希望这对您有用 ↓