这个问题之前很有可能回答很多次,但我现在已经搜索了几个小时,我仍然不明白一个基本的东西(最有可能是utf8-charset本身......)。
我有一个 html with german ammlauts “ä”和“ö”(ä
和ö
):
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
hällö
</body>
</html>
导致“h ll ”的输出。
当我遗漏<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
时,我的浏览器中的结果会变成“hällö”(可能会有一些德语字符集设置?) - 应该是这样。
为什么变音符号不像utf8-charset中的“普通”(ASCII)字符那样工作 我能做些什么来制作它们(除了编码,解码和屏蔽)?
答案 0 :(得分:2)
如果指定“charset = utf-8”,则必须上传/使用以UTF-8编码的“文件”。
要在Windows上执行此操作:
- &GT;利润
答案 1 :(得分:1)
导致“h ll ”的输出。
这些框实际上是Unicode代码点U+FFFD REPLACEMENT CHARACTER
,这意味着您的HTML文件实际上不是以UTF-8编码的,因为ä
和ö
不是有效的UTF-8字节八位字节序列因而被替换。
您需要:
确保文件实际上是以UTF-8开头保存的。
将声明的charset
更改为它的真实位置(最有可能是ISO-8859-1)(并确保它也与HTTP charset
的{{1}}属性相匹配标题,如果存在)。
使用HTML命名实体而不是实际字符:
Content-Type