ISO-8859-1与UTF-8?

时间:2009-12-12 16:43:21

标签: css xhtml unicode utf

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

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


修改

放置此代码@charset "utf-8";

是否有任何好处

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

位于CSS文件的顶部?

我找到了这个

  

如果您在DreamWeaver添加标记   在文档中添加嵌入式样式,   这是DreamWeaver中的一个错误。来自   W3C常见问题解答:

     

“对于嵌入在中的样式声明   文件,@ charset规则不是   需要,不得使用。“

     

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

并在表单

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

如果我使用xhtml doctype

应该使用什么
<?xml version="1.0" encoding="UTF-8"?>

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

5 个答案:

答案 0 :(得分:56)

Unicode正在接管并且已经超越了所有其他人。我建议你马上上火车。

请注意,有几种unicode。 Joel Spolsky gives an overview

Unicode is winning (从Feb. 2012开始绘制当前图表,请参阅下面的评论以获取更准确的值。)

答案 1 :(得分:7)

网络上的任何地方都支持UTF-8。仅在特定应用中不是。如果可以的话,你应该总是使用utf-8。

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

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

答案 2 :(得分:3)

如果你想要世界统治,请一直使用UTF-8,因为它涵盖了世界上所有人类角色,包括亚洲人,西里尔人,希伯来语,阿拉伯语,希腊语等等。 ,而ISO-8859仅限于拉丁字符。您不希望拥有Mojibake

答案 3 :(得分:0)

我发现iso-8859-1在几个网站上非常有用,我在这些网站上向客户发送了在Word或Publisher中创建的文本文件,我可以很容易地插入到PHP代码中而不用担心它 - 特别是在引用方面。这些是美国本地公司,页面上的文字几乎没有其他区别,我认为在这些特定页面上使用该字符集没有任何缺点。所有其他都是UTF-8。

答案 4 :(得分:-1)

  • ISO-8859-1是一个很好的编码,当空间非常珍贵时你会想要使用它支持的基本拉丁语言编码字符。而且,您永远不会考虑升级您的应用程序以支持非拉丁语言。

  • utf8是一种很棒的方法,可以(a)使用已经存在的每个字符代码库的8位大代码库,或者(b)成为欧元势利小人。 utf8以每个字符1个字节编码标准ascii,每个字符2个字节拉丁语1个,东欧语言和亚洲语言每个字符3个字节。如果您开始尝试编码基本多语言平面中不存在的古老语言,则每个字符最多可能有4个字节。

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

  • utf32浪费空间。