php+mysql乱码解决

1.查询之前加这条语句可以解决乱码问题:mysql_query("set names 'gb2312'");

2.导致编码不正确的几种原因:mysql数据库默认的编码是utf8,如果这种编码与你的PHP网页不一致,可能就会造成MYSQL乱码. MYSQL中创建表时会让你选择一种编码,如果这种编码与你的网页编码不一致,也可能造成MYSQL乱码. MYSQL创建表时添加字段是可以选择编码的,如果这种编码与你的网页编码不一致,也可能造成MYSQL乱码. 用户提交页面的编码与显示数据的页面编码不一致,就肯定会造成PHP页面乱码. 如用户输入资料的页面是big5码, 显示用户输入的页面却是gb2312,这种100%会造成PHP页面乱码. PHP页面字符集不正确. PHP连接MYSQL数据库语句指定的编码不正确. 3.解决方法:mysql+php产生乱码的解决办法: 如果安装mysql的编码已不能更改,很多朋友是购买虚拟主机建立网站,无权更改MYSQL的安装编码,这一关我们可以跳过,因为只要后面的步聚正确,一样能解决乱码问题 修改数据库编码,如果是数据库编码不正确,可以在phpmyadmin 执行如下命令: ALTER DATABASE 'test' DEFAULT CHARACTER SET utf8 COLLATE utf8_bin以上命令就是将test数据库的编码设为utf8.修改表的编码:ALTER TABLE 'category' DEFAULT CHARACTER SET utf8 COLLATE utf8_bin 以上命令就是将一个表category的编码改为utf8.


一般来说mysql的代码为utf-8格式,那么php网页文件存放的格式也应该是utf-8(不管是类库代码还是页面php代码);

一般国内的网站以gb2312格式为主,那么mysql的编码也必须为gb2312,php网页文件也必须存放为gb2312格式。



你可能感兴趣的:(php+mysql乱码解决)