为什么我用数据库软件插入数据没有出现乱码,而通过命令行插入数据到数据库表里面是乱码 ²âÊÔ,即使插入之前执行以下set names gbk;后是问号,,,我一直没能处理掉这问题,谢谢帮忙,,感谢大神们,,,我的是mysql-5.1.58-win32,
my-small.ini里面是这样配置的,,
[client]
#password = your_password
port = 3306
socket = MySQL
default-character-set=utf8
[mysqld]
port = 3306
socket = MySQL
skip-locking
key_buffer_size = 16K
max_allowed_packet = 1M
table_open_cache = 4
sort_buffer_size = 64K
read_buffer_size = 256K
read_rnd_buffer_size = 256K
net_buffer_length = 2K
thread_stack = 128K
character-set-server = utf8
[mysql]
no-auto-rehash
# Remove the next comment character if you are not familiar with SQL
#safe-updates
default-character-set=utf8

解决方案 »

  1.   

    通过MySQL命令行修改:
    mysql> set character_set_client=utf8;
    Query OK, 0 rows affected (0.00 sec)
    mysql> set character_set_connection=utf8;
    Query OK, 0 rows affected (0.00 sec)
    mysql> set character_set_database=utf8;
    Query OK, 0 rows affected (0.00 sec)
    mysql> set character_set_results=utf8;
    Query OK, 0 rows affected (0.00 sec)
    mysql> set character_set_server=utf8;
    Query OK, 0 rows affected (0.00 sec)
    mysql> set character_set_system=utf8;
    Query OK, 0 rows affected (0.01 sec)
    mysql> set collation_connection=utf8;
    Query OK, 0 rows affected (0.01 sec)
    mysql> set collation_database=utf8;
    Query OK, 0 rows affected (0.01 sec)
    mysql> set collation_server=utf8;
    Query OK, 0 rows affected (0.01 sec)
    查看:
    mysql> show variables like 'character_set_%';
    +--------------------------+----------------------------+
    | 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      | utf8                        |
    | character_set_system      | utf8                        |
    | character_sets_dir        | /usr/share/mysql/charsets/ |
    +--------------------------+----------------------------+
    8 rows in set (0.03 sec)
    mysql> show variables like 'collation_%';
    +----------------------+-----------------+
    | Variable_name         | Value            |
    +----------------------+-----------------+
    | collation_connection | utf8_general_ci |
    | collation_database    | utf8_general_ci |
    | collation_server      | utf8_general_ci |
    +----------------------+-----------------+
    3 rows in set (0.04 sec)
      

  2.   

    在连接数据库时指定数据库编码。
    mysql --default-character-set=gbk -uroot -p