用Navicat连接MySQL数据库时,有三个地方涉及到字符集。1.打开连接>>打开数据库>>右击数据库名,打开数据库属性,里面可以设置字符集。我的是gbk -- GBK Simplified Chinese2.右击每张表明>>选设计表>>选项,可以设置字符集。我有的表是gb2312_chinese_ci,有的是gbk_chinese_ci3.右击每张表明>>选设计表>>栏位,可以设置每栏的字符集。如果我设成gb2312或gbk则不能保存汉字,只能保存为utf-8到底以哪个为准?我的一个J2EE工程,页面用的是gb2312,怎样设置才能消除汉字乱码?跪求大神给出简单明了的指教。纠结好久了

解决方案 »

  1.   

    首先安装时要选中文字符集,你也可以修改MYSQL安装目录下的my.ini文件,将其中的default_character_set设置为default_character_set_=gbk,然后可以用
    show variables like %char%命令查看字符集是否已改。
      

  2.   

    应该加上'',如下
    show variables like '%char%'
    +--------------------------+--------+
    | Variable_name            | Value  |
    +--------------------------+--------+
    | character_set_client     | gbk    |
    | character_set_connection | gbk    |
    | character_set_database   | utf8   |
    | character_set_filesystem | utf8   |
    | character_set_results    | gbk    |
    | character_set_server     | gbk    |
    | character_set_system     | utf8   |
    +--------------------------+--------+
      

  3.   


    恩!  这是修改数据库的!  还有你用的是struts2,建议你在struts.xml里面这样写,加一条语句!
    <constant value="gbk" name="struts.i18n.encoding"></constant>
      

  4.   

    你的mysql server  的字符集呢?