Discuz! Board

标题: 网站在ubuntu下面乱码 [打印本页]

作者: zangcf    时间: 2016-1-15 20:31
标题: 网站在ubuntu下面乱码
为何在windows xp下面不乱码,但是到了ubuntu下面乱码呢?

作者: zangcf    时间: 2016-1-15 21:02
查看windows下面的mysql的编码:[attach]66[/attach]


作者: zangcf    时间: 2016-1-15 21:04
查看linux下面的mysql编码如下:
[attach]67[/attach]


作者: zangcf    时间: 2016-1-15 21:21
这个地方修改正确之后,还是乱码
作者: zangcf    时间: 2016-1-15 21:48
这个地方的最后解决还是靠修改/etc/mysql/my.cnf文件搞定:
    [client]
    default-character-set=utf8

    [mysql]
    default-character-set=utf8

    [mysqld]
    init_connect='SET collation_connection = utf8_unicode_ci'
    init_connect='SET NAMES utf8'
    character-set-server=utf8
    collation-server=utf8_unicode_ci
    skip-character-set-client-handshake
作者: zangcf    时间: 2016-1-15 21:48
上面方法的说明:
*注意:
在 mysqld 中使用 default-character-set 设置, mysql 启动会报错而无法启动。
说明

关于utf8字符集,我们国内默认选择:utf8_general_ci而不是utf8_unicode_ci,

区别在于字符对比上

请看mysql上面的例子:

对与general来说 ß = s 是为true的

但是对于unicode来说 ß = ss 才是为true的,

其实他们的差别主要在德语和法语上,所以对于我们中国人来说,一般使用general,因为general更快

如果你对德语和法语的对比有更高的要求,才使用unicode,它比general更准确一些(按照德语和法语的标准来说,在对比或者排序上更准确)

看看这个文档:http://dev.mysql.com/doc/refman/5.0/e...

另外还有utf8_bin_ci也是比较常用的哦,在字符对比时,unicode和general都不是大小写敏感的,所以如果要求大小写敏感的话,就使用bin




欢迎光临 Discuz! Board (http://47.89.242.157:9000/bbs/discuz/) Powered by Discuz! X3.2