php+mysql编码问题总结

来源:互联网 发布:纸模型图纸制作软件 编辑:程序博客网 时间:2024/06/01 09:12

要不出现乱码,就要保持数据库和页面的编码格式一致.我全部使用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;

原创粉丝点击