遇到包含以下内容类型的html文档时:
text/html; charset=unicode
应如何阅读?
我目前正在使用charset的值作为Java中InputReader构造函数的第二个参数,例如:
inputStreamReader = new InputStreamReader(inputStream, charset);
这似乎把文件读作UTF-16,这是正确的吗?我无法找到有关charset名称'unicode'的任何文档,知道什么是正确的。
答案 0 :(得分:5)
实际上,这是错误的标题,没有像“unicode”这样的字符集
根据Setting the HTTP charset parameter
在IANA字符集
中具有预定义值的任何令牌
因此,您需要告诉开发人员此服务以修复错误,或检查实际内容,然后才将其假设为utf-7/8/16
答案 1 :(得分:1)
实际上,当您从Microsoft Word导出为HTML格式并查看其生成内容时,它实际上会生成:
<meta http-equiv=Content-Type content="text/html; charset=unicode">
原因我发现这是因为我必须生成将在Word中打开并在荷兰语中的MS Word中正确显示的HTML,以及使用的时间:
<meta http-equiv=Content-Type content="text/html; charset=utf-8">
MS Word将使用错误的字符打开文档(“ë”将显示为奇怪的中文符号),但是当我更改它时,我的HTML用“ unicode”代替了“ utf-8”,然后MS Word打开了我的HTML并显示正确的荷兰语字符。
那么MS Word再次做错事了吗?我不知道,但这是我要输出的内容才能正常工作。
答案 2 :(得分:0)
Unicode是所有(小于2 ^ 24)个字符的编号标准,有几种字节格式:UTF-8(可变长度多字节),UTF-16LE或UTF-16BE(2字节序列)甚至其他
你看到的是错的。