如何让服务器完全支持 UTF-8 编码?


想让服务器支持完整 UTF-8 编码的 Web 应用,但总是退回到 ISO-8859-1。

配置是 MySQL 5.6、PHP 5.5 和 Apache 2.2。

想知道具体地该在哪里设置编码?有没有必须要做的配置清单什么的,还麻烦指导一下。

字符编码 mysql php 服务器 Linux

ikloop 9 years, 8 months ago

mysql : set names utf8

php:
header Content-Type:text/html;charset=UTF-8
开发编码用UTF8

apache 不需要配置

Item丶 answered 9 years, 8 months ago

mysql:
默认配置可以不用动,默认的lantin1编码支持utf-8的存储于读取。mysqldump备份的时候注意一下skip-charset即可。

php&apache:
在脚本的开头设置一下header("Content-Type:text/html;charset=UTF-8")
或者修改apache的配置(http.conf) AddDefaultCharset utf-8

html:
在生成的html页面中,添加
<meta content="text/html; charset=utf-8"/>
告知浏览器页面使用的编码,这样浏览器post提交上来的文本才会是utf-8的。

最后也是最重要的,你得保证你的页面文本本身是utf-8的,否则编码是gbk的,强制声明成utf-8的,浏览器显示出来也是乱码。

希望能帮到你 :)

最萌水手服 answered 9 years, 8 months ago

Your Answer