MySQL乱码问题,有经验的大哥告诉下小弟阿.

来源:百度知道 编辑:UC知道 时间:2024/06/24 12:54:06
页面编码已经改为:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

MySQL 字符集: UTF-8 Unicode (utf8)
MySQL 连接校对: utf-8_unicode_ci
页面上显示的中文正常,
就是MySQL里存的数据全是乱码,
郁闷死了..
拿位大哥帮帮忙阿...
只要是中文,在MYSQL里就是乱码.
如果我在MYSQL里插入数据.
那页面显示的就是问号,有几个汉字,就有几个问号.

MYSQL里面不是乱码,是UTF-8,你查看之前也要设置连接校对: utf-8_unicode_ci就好了。

mysql -u root -p
mysql> set names ...;
mysql> select * from ...;

右键点击dos窗口的标题栏,里边就写了当前代码为GBK的,说明dos窗口只能认gbk的文字编码,应此在dos的mysql里边 要将mysql客户端字符集为gbk或gb2312的,
在mysql命令行下边输入 \s 能看到4个XXXX character 的选项,前边二个是服务器的,后边一个是客户端,一个是传输层的
输入 set character set gbk 就行了,
当然set names gbk,也行
只要数据库服务器的字符选项为utf8,也就是\s后的前边二个为utf8,那么字符存储格式便是utf8的,不用当心在dos下以gbk方式输入的字符会和数据库里边的utf8字符相互乱了
好像上mysql会自动将dos窗口下的gbk编码转换为utf8的格式存储。。。..有些东西以后你会知道的,

当mysql客户端的字符集和服务端的字符集一致的时候,显示的数据才是正确的,
你看到mysql里面存的数据是乱码,是因为你查看数据库数据的客户端字符集与服务端不对应,可以通过set names UTF-8命令设置客户端字符集