• 2005年04月10日

    mysql4.1.X控制台的中文显示问题的解决方法

    Tag:DB

    版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
    http://fireshort.blogbus.com/logs/1109928.html

    原文出自http://blog.csdn.net/yzhz/archive/2005/04/08/340166.aspx
    环境:
    1、mysql数据库版本:MySQL4.1.7
    2、mysql驱动程序: mysql-connector-java-3.1.7
    3、环境:windows平台
    4、安装mysql数据库时指定character-set为gbk


    遇到的问题:
    采用jdbc访问数据库,jdbc的url: jdbc:mysql://localhost:3306/club,读写数据库显示中文都正常。但在mysql的console上查询,中文都显示成?。
    原因是:MySQL 4.1以上版本增加了几个变量,默认的情况下character_set_client、character_set_connection、character_set_results 的值是latin1
    character_set_client | latin1
    character_set_connection | latin1
    character_set_database | gbk
    character_set_results | latin1
    character_set_server | gbk
    character_set_system | utf8
    所以在console看到的中文记录为?
    解决的方法是:启动console的时候设置default-character-set
    mysql -uuser -ppassword --default-character-set=gbk test

    character_set_client | gbk
    character_set_connection | gbk
    character_set_database | gbk
    character_set_results | gbk
    character_set_server | gbk
    character_set_system | utf8

    总结:
    1、MySQL4.1以上版本、MySQL JDBC Driver3.0.16以上版本,jdbc的url不用再带上useUnicode=true&EncodingCharacter=GBK,jdbc驱动程序会在连接的时候自动检测mysql服务器的变量(character_set_server)指定的编码,然后将Java Unicode string转换为所指定的字符集发送给mysql server.
    2、MySQL4.1.7版本数据库,character-set为gbk,如果console上看到乱码,启动console的时候带上参数--default-character-set=gbk


    随机文章:

    操作dbf的类库 2005年09月08日
    SQL Server安装问题 2005年07月21日

    收藏到:Del.icio.us




    引用地址:

    评论

  • mysql console用的my.ini是winnt目录下的,与server用的my.ini不一样。
  • mysql的console属于mysql的client,所以要想不用每次都加上--default-character-set=gbk,在my.ini里面加上[client]

    default-character-set=gbk

    就可以了。

发表评论

您将收到博主的回复邮件
记住我