mysql的乱码解决方法

mysql的乱码解决方法

ID:14327882

大小:57.50 KB

页数:21页

时间:2018-07-27

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

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

1、mysql的乱码解决方法GBK:createdatabasetest2DEFAULTCHARACTERSETgbkCOLLATEgbk_chinese_ci;UTF8:CREATEDATABASE`test2`DEFAULTCHARACTERSETutf8COLLATEutf8_general_ci第一个方法:MySQL4.1中文乱码的问题最近要将MySQL4.0升级到MySQL4.1,发现了中文乱码的问题,希望以下见解对大家有用。1.MySQL4.1在文字上有很大改进,它有了CharacterSet

2、与Collation的慨念。2.在MySQL4.0,一般的程式都会将文字以拉丁文(latin)来储存,就算我们输入中文字,结果仍是放在以拉丁文设置的文字栏里头,这对MySQL4.0与以MySQL4.0为基楚的程式来说,并不会有问题。3.可是MySQL4.1的系统编码是预设用UTF-8的,当要restoreMySQL4.0的backup档到MySQL4.1时,乱码就出现了。原因在于MySQL4.1将latin码转换过来,而后转换是并不完全完美的,这导致了出现少量文字出现乱码现象。解决PHP存取MySQL

3、4.1乱码问题QUOTE:从MySQL4.1开始引入的多语言支持确实很棒,而且一些特性已经超过了其他的数据库系统。不过我在测试过程中发现使用适用于MySQL4.1之前的PHP语句操作MySQL数据库会造成乱码,即使是设置过了表字符集也是如此。我读了一下新的MySQL在线手册中第十章"CharacterSetSupport"后终于找到了解决方法并测试通过。MySQL4.1的字符集支持(CharacterSetSupport)有两个方面:字符集(Characterset)和排序方式(Collation)。

4、对于字符集的支持细化到四个层次:服务器(server),数据库(database),数据表(table)和连接(connection)。查看系统的字符集和排序方式的设定可以通过下面的两条命令:CODE:mysql>SHOWVARIABLESLIKE'character_set_%';+--------------------------+----------------------------+

5、Variable_name

6、Value

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

8、-----------------------+

9、character_set_client

10、latin1

11、

12、character_set_connection

13、latin1

14、

15、character_set_database

16、latin1

17、

18、character_set_results

19、latin1

20、

21、character_set_server

22、latin1

23、

24、character_set_system

25、utf8

26、

27、character_sets_dir

28、/usr/share/mysql/charsets/

29、+--

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

31、Variable_name

32、Value

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

34、collation_connection

35、latin1_swedi

36、sh_ci

37、

38、collation_database

39、latin1_swedish_ci

40、

41、collation_server

42、latin1_swedish_ci

43、+----------------------+-------------------+3rowsinset(0.00sec)上面列出的值就是系统的默认值。如果你奇怪系统怎么默认是latin1的瑞典语排序方式,原因是MySQL由瑞典的T.c.X.DataKonsultAB公司(目前公司名称为MySQLAB)开发,不用再多说了吧。当我们按照原来的

44、方式通过PHP存取MySQL数据库时,就算设置了表的默认字符集为utf8并且通过UTF-8编码发送查询,你会发现存入数据库的仍然是乱码。问题就出在这个connection连接层上。解决方法是在发送查询前执行一下下面这句:SETNAMES'utf8';它相当于下面的三句指令:CODE:SETcharacter_set_client=utf8;SETcharacter_set_results=utf8;SETcharacter_set_connection=

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

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

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