我在Windows vista环境下安装Mysql 5.5版本,用Navicat8 编辑表时显示的中文乱码,而且输入中文后保存不了,显示出错编号为1366。
表的信息如下:
mysql> show create table tb_publishing;
+---------------+--------------------------------------------------------------------------------------------------------------------------------------------+
| Table         | Create Table                                                                                                                               |
+---------------+--------------------------------------------------------------------------------------------------------------------------------------------+
| tb_publishing | CREATE TABLE `tb_publishing` (
  `ISBN` varchar(20) DEFAULT NULL,
  `pubname` varchar(30) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 |
+---------------+--------------------------------------------------------------------------------------------------------------------------------------------+
1 row in setmysql> show full column
s from tb_publishing;
+---------+-------------+-------------------+------+-----+---------+-------+---------------------------------+---------+
| Field   | Type        | Collation         | Null | Key | Default | Extra | Privileges                      | Comment |
+---------+-------------+-------------------+------+-----+---------+-------+---------------------------------+---------+
| ISBN    | varchar(20) | latin1_swedish_ci | YES  |     | NULL    |       | select,insert,update,references |         |
| pubname | varchar(30) | latin1_swedish_ci | YES  |     | NULL    |       | select,insert,update,references |         |
+---------+-------------+-------------------+------+-----+---------+-------+---------------------------------+---------+
2 rows in set
mysql> show variables like 'char%';
+--------------------------+---------------------------------------------------------+
| Variable_name            | Value                                                   |
+--------------------------+---------------------------------------------------------+
| character_set_client     | utf8                                                    |
| character_set_connection | utf8                                                    |
| character_set_database   | utf8                                                    |
| character_set_filesystem | binary                                                  |
| character_set_results    | utf8                                                    |
| character_set_server     | latin1                                                  |
| character_set_system     | utf8                                                    |
| character_sets_dir       | C:\Program Files\MySQL\MySQL Server 5.5\share\charsets\ |
+--------------------------+---------------------------------------------------------+
8 rows in set
麻烦各位帮帮忙啊。

解决方案 »

  1.   

    SET NAMES UTF8
    OR
    [mysql]default-character-set=utf8
      

  2.   

    楼主到底是在什么中操作? 你贴出的是在命令行工具下的结果啊。 
    Navicat8  中的 show variables like 'char%'; 是什么?
    如果你的表需要支持中文,则建议修改你的表 CREATE TABLE `tb_publishing` (
     `ISBN` varchar(20) DEFAULT NULL,
     `pubname` varchar(30) DEFAULT NULL
    ) ENGINE=MyISAM DEFAULT CHARSET= utf8
      

  3.   

    http://blog.csdn.net/ACMAIN_CHM/archive/2009/05/12/4174186.aspx
    MySQL 中文显示乱码
      

  4.   

    上面的SQL命令我是在Navicat 下操作的。
      

  5.   

    用UTF8重新创建表后网页显示的中文变为了????。该如何处理啊
      

  6.   


    用UTF8重新创建表后中文内容在网页中显示为“?????”,该如何处理呢
      

  7.   

    程序使用JSP写的,怎样转码?