Home >Backend Development >PHP Tutorial > 期待大家帮忙,牛X你就来,PHP插入mysql乱码,都设置了,还是不行解决方案

期待大家帮忙,牛X你就来,PHP插入mysql乱码,都设置了,还是不行解决方案

WBOY
WBOYOriginal
2016-06-13 13:32:07905browse

期待大家帮忙,牛X你就来,PHP插入mysql乱码,都设置了,还是不行
PHP插入到mysql中的数据从终端到phpmyadmin浏览都是乱码,大家帮忙分析
环境:LAMP

1.mysql编码设置如下:

mysql> show variables like 'character_set_%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 | 
| character_set_connection | utf8 | 
| character_set_database | utf8 | 
| character_set_filesystem | binary | 
| character_set_results | utf8 | 
| character_set_server | utf8 | 
| character_set_system | utf8 | 
| character_sets_dir | /usr/share/mysql/charsets/ | 
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

2. mysql 全局设置如下:
/etc/my.cnf

[client]
default-character-set='utf8'

[mysqld]
default-character-set='utf8'
3.PHP连接编码设置如下:


function db_connect()
{

$result=new mysqli('IP','db','user','passwd');
mysql_query("SET NAMES 'UTF8'");

4. PHP页面编码设置如下:



能设置的都设置了,为什么在phpmyadmin 与终端里浏览还是乱码!!!!!
PS: phpmyadmin 与终端里也设置了编码为UTF8

哪位朋友帮忙解决一下。成分感谢!



------解决方案--------------------
mysql在设置utf8的时候, 使用"utf8", 页面上, 使用utf-8.

乱码的解决需要一步一步的调试/观察

首先, 查看你的页面编码, 在浏览器上看打开你的页面时浏览器使用的编码格式..
然后, 从$_POST, $_GET中打印你提交的数据, 检查前台向后台的传递过程中, 编码有没有出问题
然后, 在向数据库写入之前检查一下..
然后就是确定数据库的编码问题, 这个通常换个确认正确的客户端来向数据库写入, 看数据库的表现..
------解决方案--------------------
页面是UTF-8
MYSQL里是UTF8
注意不要搞错。
另外,网页其实可以不设,只要程序的编码是UTF-8即可。
------解决方案--------------------

然后再用 EditPlus 3另存为utf-8类型.

mysql连接那里:mysql_query('set names utf8');


------解决方案--------------------

探讨
谢谢大家的帮助,我用的mysqli连接数据库,用 mysqli 的时候 mysql_query("SET NAMES 'UTF8'");不知道为什么没有起作用,用以下的没有问题了
$result=new mysqli('localhost','root','','db');
$result->query("set names 'utf8'");

麻烦朋友们解答一下 $result->qu……

------解决方案--------------------
探讨

一: 所有的utf8都换成utf-8

二:mysql_query("SET NAMES 'UTF8'");改成:mysql_query("SET NAMES `UTF-8`");
注意标点符号,是反引号 不是单引号
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn