Heim > Backend-Entwicklung > PHP-Tutorial > MySQL中utf8_unicode_ci乱码的问题

MySQL中utf8_unicode_ci乱码的问题

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Freigeben: 2016-06-06 20:51:32
Original
1021 Leute haben es durchsucht

存进去的全是问号,类似下面这样。
MySQL中utf8_unicode_ci乱码的问题

当时因为页面显示正常(全部使用utf8编码,语言是php,查询之前也有加编码设置),就没太在意!

这次更好服务器后,页面的输出就全部是问号了,不明白原因,求指教!

试过的方法有:
在查询之前设置
mysql_query("set names 'utf8'");
mysql_query("set character_set_client=utf8");
mysql_query("set character_set_results=utf8");

回复内容:

存进去的全是问号,类似下面这样。
MySQL中utf8_unicode_ci乱码的问题

当时因为页面显示正常(全部使用utf8编码,语言是php,查询之前也有加编码设置),就没太在意!

这次更好服务器后,页面的输出就全部是问号了,不明白原因,求指教!

试过的方法有:
在查询之前设置
mysql_query("set names 'utf8'");
mysql_query("set character_set_client=utf8");
mysql_query("set character_set_results=utf8");

你可以使用phpmyadmin看看是不是存进去的真的是乱码。
服务器编码,客户端编码,传输过程中编码保持一致。
有时候在命令行连接mysql,中文会乱码,原因是命令行对utf8不支持

补充:如果有phpmyadmin中看到是乱码,就是你程序和数据库设置的问题了:
修改php.ini

[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
default-character-set=utf8
Nach dem Login kopieren

命令行连接mysql乱码

SET NAMES GB2312
Nach dem Login kopieren

从你描述的情况来看很可能是新服务器上数据库字符集设置问题。

mysql_query("set names 'utf8'")等同于:
set character_set_client=utf8;
set character_set_results=utf8;
set character_set_connection=utf8;
但是mysql在内部执行操作前会将连接字符集转换为内部操作字符集,顺序如下:
1.使用每个数据字段的CHARACTER SET设定值;
2.若上述值不存在,则使用对应数据表的DEFAULT CHARACTER SET设定值(MySQL扩展,非SQL标准);
3.若上述值不存在,则使用对应数据库的DEFAULT CHARACTER SET设定值;(character_set_database)
4.若上述值不存在,则使用character_set_server设定值。

所以你可以将database和server字符集设置为utf8试一下,
参考文章:http://www.laruence.com/2008/01/05/12...

Verwandte Etiketten:
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Aktuelle Ausgaben
So ändern Sie MySQL in MySQL
Aus 1970-01-01 08:00:00
0
0
0
MySQL-Startfehler unter Centos
Aus 1970-01-01 08:00:00
0
0
0
MySQL stoppt den Prozess
Aus 1970-01-01 08:00:00
0
0
0
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage