我的网页包含德语字符,我在其中输入了文字 HTML标记,但浏览器以不同方式查看某些字符。我是否需要在HTML中包含任何内容以正确显示德语字符?
<label> ausgefüllt </label>
答案 0 :(得分:61)
似乎你需要一些关于某些东西的基本解释,不幸的是大多数程序员都不能正确理解。
像HTML页面这样的文件会作为一系列字节保存并通过Internet传输,但您希望它们显示为字符。为了将字节转换为字符,您需要一组称为character encoding的规则。不幸的是,历史上出现了许多不同的字符编码来处理不同的语言。其中大多数都基于美国ASCII编码,但只要您有ASCII之外的字符(例如German umlauts),就需要非常小心使用哪种编码。
问题的根源在于,为了正确解码HTML文件,浏览器需要知道要使用的编码。你可以通过几种方式告诉它:
因此,您需要选择一种编码,使用该编码保存HTML文件,并确保以上面列出的至少一种方式声明该编码(如果您使用的是一个人该死的确定他们同意)。至于使用什么编码,德国人通常使用ISO/IEC 8859-15,但UTF-8是一个很好的选择,可以同时处理任何类型的非ASCII字符。
答案 1 :(得分:27)
UTF-8是你的朋友。
尝试
<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=utf-8">
并检查您的网络服务器在标头中发送的编码。
如果你使用PHP,你可以用这种方式发送你自己的标题(你必须在任何其他输出之前放置它):
<?php header('Content-Type: text/html; charset=utf-8'); ?>
另外,请仔细检查您是否以UTF-8保存文档。
答案 2 :(得分:7)
在博客文章 German characters encoding issue (2012-05-10)中试用解决方案:
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
答案 3 :(得分:4)
您是否尝试过ü
(ü)和Ü
(Ü)?
您可以找到如何输入其他字母here。
答案 4 :(得分:2)
听起来像是一个字符编码问题,因为该文件被保存为与网络服务器所说的不同的字符编码。
答案 5 :(得分:2)
我不喜欢使用HTML实体(比如%uuml;),只有当你的字符集出现问题时才需要它们。
简而言之:
正确的方法是修复你的角色。
简单的方法就是使用实体。你可能没有看到任何问题。
追踪字符集错误可能非常困难。如果你给我们一个网址,我们可以看到问题,我们可以给你一个很好的提示,看看哪里。
答案 6 :(得分:2)
声明<META HTTP-EQUIV="content-type" CONTENT="text/html; charset=utf-8">
当保存文件时,例如在记事本中,选择保存为UTF-8而不仅仅是.txt。
这应该使角色正常。
答案 7 :(得分:2)
您可以尝试使用utf8_encode()或utf8_decode()函数。如果其中任何一个有效,请检查。
例如<?php echo utf8_encode('ausgefüllt'); ?>
希望它会奏效。
答案 8 :(得分:0)