html 显示unicode字符,关于unicode:如何正确显示HTML中的德语字符?

我的页面包含德语字符,并且我在页面之间输入了文字

HTML标记,但浏览器以不同的方式查看某些字符。 是否需要在HTML中包含任何内容才能正确显示德语字符?

ausgefüllt

您能否提供德语文本并指出哪些浏览器

ausgefllt ,我正在FF v3.0.5中进行测试

如果您在问题文本中提供此信息会很好,这样每个人都可以看到它而无需阅读评论。 谢谢!

不幸的是,您似乎需要一些基本的解释,即使大多数程序员也无法正确理解。

HTML页面之类的文件以字节序列的形式保存并通过Internet传输,但是您希望将它们显示为字符。为了将字节转换为字符,您需要一套称为字符编码的规则。不幸的是,历史上出现了许多不同的字符编码来处理不同的语言。它们大多数基于美国ASCII编码,但是一旦您有ASCII以外的字符(例如德国变音符),则需要非常小心使用哪种编码。

问题的根源在于,为了正确解码HTML文件,浏览器需要知道要使用哪种编码。您可以通过几种方式告诉它:

" Content-Type" HTTP标头

HTML META标签

XML编码属性(如果使用XHTML)

因此,您需要选择一种编码,使用该编码保存HTML文件,并确保至少以上面列出的一种方式声明该编码(如果使用多种编码,请确保它们同意)。至于使用哪种编码,德国人通常使用ISO / IEC 8859-15,但是UTF-8是一个很好的选择,它可以同时处理任何类型的非ASCII字符。

您应该更改顺序:1. HTTP标头字段,2. XML声明,3. HTML META元素。参见w3.org/TR/html401/charset.html#h-5.2.2和w3.org/TR/xml/#charencoding

UTF-8实际上在德国现在很普遍,并且在使用德语文本时可能会有所不同。如果ISO / IEC 8859-15不起作用,您绝对应该尝试将UTF-8作为下一个选项。

UTF-8是您的朋友。

尝试

并检查您的网络服务器在标头中发送的编码。

如果使用PHP,则可以通过这种方式发送自己的标头(必须将其放在任何其他输出之前):

还要仔细检查您是否已将文档保存在UTF-8中。

我已经添加了我的head标签,但仍然得到了隐藏的角色

那么您的文档可能实际上并未保存在UTF-8中

您需要从网络服务器发送正确的标头。 META标签不够用

说明:最初,Web服务器原本打算根据标签解析文件并设置其标头,但Web服务器通常不这样做,并且未指定浏览器的行为,如果他们不同意。

@brazzy:它已详细指定:w3.org/TR/REC-html40/charset.html#spec-char-encoding,W3C网站上有一些关于此的FAQ / QA文章。

在博客文章德语字符编码问题(2012-05-10)中尝试解决方案:

您是否尝试过ü(ü)和ü(ü)?

您可以在此处找到如何键入其他字母。

考虑到这些通用性,多数民众赞成在很大程度上是不切实际的,他不应该而且不必这样编码

也许可以,但这就是用瑞典语字符编码我的主页的方式。

如果您指定正确的编码,这是一种解决方法,但是幸运的是不再需要。不好意思,但是周围有更好的解决方案。

其实,我不知道。我猜我是那些吹牛的人之一,下面是两篇文章。 :/

您可以尝试使用utf8_encode()或utf8_decode()函数。检查其中任何一项是否有效。

例如

希望它能工作。

声明

在保存文件时(例如在记事本中),请选择另存为UTF-8,而不仅仅是.txt。

这应该使字符正常。

我不喜欢使用HTML实体(例如%uuml;),仅当您的字符集有问题时才需要使用它们。

简而言之:

正确的方法是修复您的角色集。

简便的方法是只使用实体。您可能从未见过任何问题。

跟踪字符集错误可能非常困难。如果您给我们提供可以看到问题的URL,那么我们可能会给您一个很好的提示,指出要查找的位置。

听起来像字符编码问题,因为文件被保存为与Web服务器所说的字符编码不同的字符编码。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值