mysql 中文乱码 解决方法集锦

mysql 中文乱码 解决方法集锦

ID:15563841

大小:63.50 KB

页数:21页

时间:2018-08-04

mysql 中文乱码 解决方法集锦_第1页
mysql 中文乱码 解决方法集锦_第2页
mysql 中文乱码 解决方法集锦_第3页
mysql 中文乱码 解决方法集锦_第4页
mysql 中文乱码 解决方法集锦_第5页
资源描述:

《mysql 中文乱码 解决方法集锦》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、mysql中文乱码解决方法集锦第一个方法:MySQL4.1中文乱码的问题最近要将MySQL4.0升级到MySQL4.1,发现了中文乱码的问题,希望以下见解对大家有用。1.MySQL4.1在文字上有很大改进,它有了CharacterSet与Collation的慨念。2.在MySQL4.0,一般的程式都会将文字以拉丁文(latin)来储存,就算我们输入中文字,结果仍是放在以拉丁文设置的文字栏里头,这对MySQL4.0与以MySQL4.0为基楚的程式来说,并不会有问题。3.可是MySQL4.1的系统编码是预设用UTF-

2、8的,当要restoreMySQL4.0的backup档到MySQL4.1时,乱码就出现了。原因在于MySQL4.1将latin码转换过来,而后转换是并不完全完美的,这导致了出现少量文字出现乱码现象。解决PHP存取MySQL4.1乱码问题QUOTE:从MySQL4.1开始引入的多语言支持确实很棒,而且一些特性已经超过了其他的数据库系统。不过我在测试过程中发现使用适用于MySQL4.1之前的PHP语句操作MySQL数据库会造成乱码,即使是设置过了表字符集也是如此。我读了一下新的MySQL在线手册中第十章"Chara

3、cterSetSupport"后终于找到了解决方法并测试通过。MySQL4.1的字符集支持(CharacterSetSupport)有两个方面:字符集(Characterset)和排序方式(Collation)。对于字符集的支持细化到四个层次:服务器(server),数据库(database),数据表(table)和连接(connection)。查看系统的字符集和排序方式的设定可以通过下面的两条命令:CODE:mysql>SHOWVARIABLESLIKE'character_set_%';+----------

4、----------------+----------------------------+

5、Variable_name

6、Value

7、+--------------------------+----------------------------+

8、character_set_client

9、latin1

10、

11、character_set_connection

12、latin1

13、

14、character_set_database

15、latin1

16、

17、character_set_results

18、latin1

19、

20、character_s

21、et_server

22、latin1

23、

24、character_set_system

25、utf8

26、

27、character_sets_dir

28、/usr/share/mysql/charsets/

29、+--------------------------+----------------------------+7rowsinset(0.00sec)mysql>SHOWVARIABLESLIKE'collation_%';+----------------------+-------------------+

30、Variable_n

31、ame

32、Value

33、+----------------------+-------------------+

34、collation_connection

35、latin1_swedish_ci

36、

37、collation_database

38、latin1_swedish_ci

39、

40、collation_server

41、latin1_swedish_ci

42、+----------------------+-------------------+3rowsinset(0.00sec)上面列出的值就是系统的默认值。如果你奇怪系统怎么默认是l

43、atin1的瑞典语排序方式,原因是MySQL由瑞典的T.c.X.DataKonsultAB公司(目前公司名称为MySQLAB)开发,不用再多说了吧。当我们按照原来的方式通过PHP存取MySQL数据库时,就算设置了表的默认字符集为utf8并且通过UTF-8编码发送查询,你会发现存入数据库的仍然是乱码。问题就出在这个connection连接层上。解决方法是在发送查询前执行一下下面这句:SETNAMES'utf8';它相当于下面的三句指令:CODE:SETcharacter_set_client=utf8;SETcha

44、racter_set_results=utf8;SETcharacter_set_connection=utf8;再试试看,正常了吧?就是连接之后加个查询CODE:$this->query(”SETNAMES‘utf8'”);看了手册第10章觉得主要还是CharacterSets的问题。character_set_client,character_set_results,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。