是charset = unicode UTF-8,UTF-16还是别的什么?

时间:2013-12-11 20:30:47

标签: java html unicode character-encoding

遇到包含以下内容类型的html文档时:

text/html; charset=unicode

应如何阅读?

我目前正在使用charset的值作为Java中InputReader构造函数的第二个参数,例如:

inputStreamReader = new InputStreamReader(inputStream, charset);

这似乎把文件读作UTF-16,这是正确的吗?我无法找到有关charset名称'unicode'的任何文档,知道什么是正确的。

3 个答案:

答案 0 :(得分:5)

实际上,这是错误的标题,没有像“unicode”这样的字符集

根据Setting the HTTP charset parameter

  

在IANA字符集

中具有预定义值的任何令牌

These are the official names for character sets that may be used in the Internet and may be referred to in Internet documentation

因此,您需要告诉开发人员此服务以修复错误,或检查实际内容,然后才将其假设为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字节序列)甚至其他

你看到的是错的。