50

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

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


使用代码有什么好处@charset "utf-8";吗?

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

在 CSS 文件的顶部?

我为此找到了

如果Dreamweaver在您将嵌入样式添加到文档时添加了标签,则这是 Dreamweaver 中的错误。来自 W3C 常见问题解答:

“对于嵌入在文档中的样式声明,@charset 规则不是必需的,也不能使用。”

自 2.0 版(1998 年 5 月)以来,字符集规范是 CSS 的一部分,因此如果您在 CSS 文件中有字符集规范,而 Safari 无法处理它,那么这是 Safari 中的一个错误。

并以如下形式添加接受字符集

<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" />
4

5 回答 5

58

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

请注意,有几种 unicode 风格。Joel Spolsky 给出了一个概述

Unicode 赢了(截至2012 年 2 月 的当前图表,请参阅下面的评论以获取更准确的值。)

于 2009-12-12T16:50:47.553 回答
8

Web 上的任何地方都支持 UTF-8。只有在特定应用中才不是。如果可以,您应该始终使用 utf-8。

缺点是对于中文等语言,utf-8 比 utf-16 占用更多空间。但是,如果您不打算使用中文,或者即使您确实使用中文,那么 utf-8 也可以。

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

于 2009-12-12T16:47:10.493 回答
3

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

于 2009-12-12T16:47:46.963 回答
1

我发现 iso-8859-1 在几个网站上非常有用担心。这些是本地的美国公司,页面上的文本实际上没有其他区别,我认为在这些特定页面上使用该字符集没有任何缺点。所有其他都是UTF-8。

于 2016-10-05T21:35:06.887 回答
-2
  • ISO-8859-1 是一种很好的编码,当空间非常宝贵并且您只想对它支持的基本拉丁语言中的字符进行编码时,可以使用它。而且您永远不会考虑升级您的应用程序以支持非拉丁语言。

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

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

  • utf32 太浪费空间了。

于 2009-12-12T17:12:12.993 回答