要不出现乱码,就要保持数据库和页面的编码格式一致.我全部使用utf-8的编码.
首先页面:
1. 将文件用UE打开,将文件另存为UTF-8无BOM格式.很多编辑器都可用.
2.使用 header("content-type:text/html; charset=utf-8"); 强制转换成utf-8的编码.
也可以新建一个head.php,如下,在页面中用include("head.php");导入.
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
3.我使用的是eclipsePHP, 在菜单中 选择 项目-属性-信息,将文本编码改成UTF-8。其它的开发工具应该也有吧。
4.php.ini中将default_charset属性值改为utf-8.
数据库:
1. 建库的时候执行
CREATE DATABASE `test` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin
或者修改数据库编码
ALTER DATABASE 'test' DEFAULT CHARACTER SET utf8 COLLATE utf8_bin
2. 建表的时候执行
CREATE TABLE IF NOT EXISTS `test` (
....
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=4 ;
或者修改数据表编码
ALTER TABLE 'test' DEFAULT CHARACTER SET utf8 COLLATE utf8_bin
3. 修改my.ini,设置 default-character-set=utf8
这是我的最终配置,可能有点画蛇添足的地方,请勿见怪!
这是搜集的一些mysql设置编码命令
SET character_set_client = utf8;
SET character_set_connection = utf8;
SET character_set_database = utf8;
SET character_set_results = utf8;
SET character_set_server = utf8;
SET collation_connection = utf8_bin;
SET collation_database = utf8_bin;
SET collation_server = utf8_bin;