如果以 UTF-8 编码的 PHP 网页在浏览器出现乱码, 一般都是设定错误编码所致, 要解决分别可以透过 HTML 的 meta tag, PHP Header 及 Apache 进行设定, 以下是解决方法:
HTML Meta Tag:
在 HTMl 的
及 加入以下这行, 向浏览器宣告使用 UTF-8 编码:PHP Header:
另一个方法是用 PHP 的 header() 向浏览器宣告使用 UTF-8 编码, 但这行要放在程式开端, 输出内容前插入:
|
1 2 3 |
<?php header("Content-Type:text/html; charset=utf-8"); ?> |
Apache 设定:
如果不想修改网页或 PHP, 也可以在 Apache 设定默认编码, 如果可以修改 httpd.conf, 可以直接修改, 不可以的话放在 .htaccess 也一样可以的, 以下分别是 Apache 的几种修改默认编码的方法:
1. 设定个别 Directory (目录) 默认编码, 开启 httpd.conf 加入:
|
1 2 3 |
<Directory "/var/www/phpini.com"> addDefaultCharset UTF-8 </Directory> |
2. 设定个别 VirtualHost (虚拟主机) 默认编码, 开启 httpd.conf 加入:
|
1 2 3 4 |
<VirtualHost 123.242.230.24> ServerName www.phpini.com addDefaultCharset UTF-8 </VirtualHost> |
3. 开启 .htaccess 加入:
|
1 |
addDefaultCharset UTF-8 |