你可能听说过使用Unicode(UTF-8)而不是Latin1(Windows 1252或ISO 8859-1)或Shift_JIS等传统字符编码很有用,并且你听说其他人也在这样做,但你不确定该如何做。
本页面将帮助你将网页的字符编码更改为UTF-8。
下面我们总结了将一个简单的页面转换为Unicode字符编码所需的信息。如果你需要获取有关任何步骤的详细信息,请点击网站上其他文章的链接。
有关将复杂站点、软件和数据转换为Unicode的更多详细建议,请参阅文章迁移到Unicode。
仅仅将页面内的声明更改为UTF-8编码是不够的,你必须确保文件实际上是以UTF-8格式保存的。
如果你的文件是手动编辑的,那么你应该使用编辑器将文件保存为UTF-8编码,而不是你原来用的编码。如果你从脚本和数据库构建文件,你应该根据需要转换数据并在你的脚本环境中设置正确的参数。
请注意,你可能需要确保数据不包含UTF-8签名,也称为字节顺序标记 (BOM)。
你应该更改页面中的字符编码声明(如果你还没有声明,则需要添加一个)。
最简单的形式看起来如下所示,这应该出现在HTML代码中head
元素的开头。
<meta charset="utf-8">
尽管你的数据是UTF-8格式,你也在页面中声明了它,但你的服务器可能仍然附带一个表明它是其他编码的HTTP标头(header)。
把页面的URL粘贴到这里来进行测试,它将带你到W3C的Internationalization Checker。在表中找到标题为HTTP Content-Type的行,在Character Encoding下,检查它是UTF-8还是No encoding information found。
如果HTTP Content-Type显示的编码不是UTF-8,你需要采取措施纠正它,因为HTTP标头中的声明将覆盖页面内的信息。
虽然通常需要服务器管理员权限才能更改HTTP标头中发送的编码,但即使你通过ISP提供文件,你也可以自己这样做,相关内容请咨询你的服务器管理员。请参阅对Apache服务器执行此操作的一种方法的说明。
刚刚入门?介绍字符集与编码
迁移到Unicode:一篇关于将软件和数据更改为Unicode的更深入的文章
制作网页