ISO-8859-1 vs UTF-8?

应该使用什么和什么时候? 还是总是使用UTF-8更好? 或ISO-8859-1在特定条件下仍然具有重要性?

字符集是否与地理区域相关?


编辑:

把这个代码放在@charset "utf-8";有什么好处吗@charset "utf-8";

或者像这样<link type="text/css; charset=utf-8" rel="stylesheet" href=".." />

在CSS文件的顶部?

我find了这个

如果在向文档添加embedded式样式时DreamWeaver添加了标签,那么这是DreamWeaver中的一个错误。 从W3C FAQ:

“对于文档中embedded的样式声明,不需要@charset规则,不能使用。”

charset规范自2.0版本(1998年5月)以来就是CSS的一部分,所以如果你在CSS文件中有一个字符集规范,并且Safari无法处理它,这就是Safari中的一个bug。

并在表单中添加accept-charset

 <form action="/action" method="post" accept-charset="utf-8"> 

以及如果我使用xhtml文档types应该使用什么

 <?xml version="1.0" encoding="UTF-8"?> 

要么

 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 

Unicode正在接pipe并已经超越了所有其他。 我build议你现在在火车上跳。

请注意,有几种口味的unicode。 Joel Spolsky给出了一个概述 。

Unicode正在赢得 (图表截至2012年2月 ,请参阅下面的评论以获得更准确的数据。)

networking上的任何地方都支持UTF-8。 只有在特定的应用程序是不是。 如果可以的话,你应该总是使用utf-8。

缺点是对于像中文这样的语言来说,utf-8占用的空间比utf-16多。 但是如果你不打算去中国,或者即使你去中国,那么utf-8也没问题。

反对使用utf-8的唯一缺点是与各种编码相比需要更多的空间,但与西方语言相比,除了非常特殊的字符以外,它几乎不占用额外的空间。 我们毕竟在2009年。 ;)

如果你想统治世界 ,那么一路使用UTF-8 ,因为它涵盖了世界上所有可用的人物angular色,包括亚洲,西里尔,希伯来,阿拉伯,希腊等等,而ISO-8859只限于拉丁文字。 你不想要Mojibake 。

我发现iso-8859-1在一些网站上非常有用,我有客户端发送的文本文件是在Word或Publisher中创build的,我可以很容易地插入到PHP代码中,而不必担心 – 特别是在引号担心。 这些是本地的美国公司,页面上的文字没有其他区别,我认为在这些特定的页面上使用该字符集没有任何不利之处。 所有其他人都是UTF-8。

  • ISO-8859-1是一个很好的编码,当空间是一个溢价,你只是想要从它支持的基本拉丁语言编码字符。 而且你永远不会永远不会想到永远升级你的应用程序来支持非拉丁语言。

  • utf8是一个奇妙的方式来(a)使用每个字符代码库8位的大代码库已经存在,或(b)是一个欧元势利。 utf8对每个字符1个字节的标准ASCII进行编码,每个字符2个字节的拉丁文1个,东欧和亚洲语言每个字符3个字节。 如果您开始尝试编码基本多语言平面中不存在的古代语言,它可能会达到每个字符4个字节。

  • utf16是从头开始新代码库的好方法。 它完全文化中性 – 每个字符得到一个公平的2字节。 对于古代/外来语言来说,每个字符需要4个字节 – 这意味着 – 在最坏的情况下 – 和它的兄弟一样糟糕:

  • utf32是浪费空间。