代码之家  ›  专栏  ›  技术社区  › 

UTF8、ISO-8859-x或7位ASCII和实体

  •  0
  •  · 技术社区  · 7 年前

    • 您使用ISO-8859-x或Win-125x并对实体进行编码,还有其他用途吗?

    请详细说明是哪一种和哪一种 为什么? .

    9 回复  |  直到 17 年前
        1
  •  7
  •   Sergej Andrejev    17 年前

    我不能确切地告诉你为什么会发生这种情况,但在我使用UTF-8处理每个网页的5年经验中(我主要使用西里尔语和波罗的语符号),我还没有看到任何字符显示错误。

        2
  •  6
  •   Nemanja Trifunovic    17 年前

    它的设计正是为了解决格雷戈里提到的UTF-16出现的问题,而且它做得非常棒。现在几乎每个编辑器(包括记事本)都支持UTF-8,它也是XML的默认编码。

        3
  •  3
  •   Ned Batchelder    17 年前

    不要麻烦命名实体。当您需要手动编辑HTML文件并希望能够读取字符,并且没有UTF-8编辑器时,它们非常适合。但除此之外,UTF-8是一条出路。

        4
  •  2
  •   Alekc    17 年前

    我总是直接用utf8写。在此期间,我遇到的唯一问题是服务器在头上强制进行iso编码。

        5
  •  1
  •   se_pavel    17 年前

    始终为您的站点使用UTF-8

    1. 现代框架和数据库服务器支持UTF-8没有异议/问题。

    2. 当有人用不同于预期的语言输入文本时,您将避免出现问题,您将得到??????而不是一些unicode符号,甚至在页面模板未呈现时更糟。

    3. 即使你的网站被标记为一种语言而没有多语言界面(将来也是如此),也有人可能会在你的网站上发布材料,并以自己的语言从朋友那里获得评论。

    帕维尔

        6
  •  0
  •   kdgregory    17 年前

    原因很简单:这是一件不需要担心的事情。您不需要确保您的Web服务器设置为公布与内容相同的编码。因为迟早会有人使用Cp1252编码在Windows上编辑页面,还有人使用ISO-8859在Linux上工作,尽管两者很接近,但它们并不相同。如果Web服务器配置为UTF-8,则它们都已损坏。

    也就是说,我给Sergej+1,因为如果你处理的文本主要不是ASCII,你就不需要大量的实体。

        7
  •  0
  •   eel ghEEz    17 年前

    我个人总是使用UTF-8。它得到了很好的支持,每种语言、操作系统和浏览器都以某种方式支持它。实体很容易显示,但编辑起来却很麻烦。命名实体可以引用很多字符,但只涵盖西方字符集。对于亚洲语言,你将不得不回到十六进制实体,这是不漂亮的。十六进制实体也必须使用Unicode表进行解码或编码,因此您可能希望首先使用Unicode风格对文本进行编码。

    Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!) joelonsoftware.com详细介绍了字符集及其用法和区别。这里的信息非常笼统,但有助于确定选择哪种编码。

    Character sets from Browser to Database 这是一篇来自SUN的非常实用的文章,它涵盖了很多关于您必须验证编码是否未转换为其他内容的地方。

    What Is UTF-8 And Why Is It Important? 是SUN的另一篇文章,深入探讨了UTF-8的本质,在阅读了前两篇文章之后,应该允许您回答有关UTF-8细节的任何问题。

        8
  •  0
  •   user79758    17 年前

    如果我主要在ASCII空间(英语,大多数罗曼史语言)的网站上工作,我会将所有非ASCII的内容转换为命名或编号的实体。这使得我或其他没有合适字体的人可以使用它。这似乎不太可能,但总有一天你会在SSH上使用一些不支持UTF-8的被抛弃的终端,即使这样,主机系统也不会安装正确的字体。

    如果我写的文本大部分不是ASCII,我会使用UTF-8。如果文本是所有实体,那么不管怎样,它都和Unicode替换框一样不可读。

        9
  •  0
  •   Zyx    17 年前

    Unicode的前128个字符与ASCII兼容。使用这128个字符编写的文本是有效的ASCII和UTF-8文档。Unicode是一种标准,每个人都应该使用。说英语的人看不出有什么不同,但非英语的人会。就我个人而言,如果这个软件不能正确地存储和显示我的姓氏,我会对它和它的创建者感到非常失望。

    我还必须注意到,字符编码只是关于内部化的一系列问题中的第一个。在一些较小的软件中,这一点尤其值得注意,这些软件根本不适合处理各种非英语语法问题。