当MySQL5服务器端指定字符集时,
客户端显示汉字乱码的解决的方法:
连接后,执行“set names ‘gb2312’”(客户端指定字符集)。
---------------------------------------
有没有其他方法可以让mysql5自动指定字符集,而不是每次连接后都得执行“set names ‘xxx’”?
客户端显示汉字乱码的解决的方法:
连接后,执行“set names ‘gb2312’”(客户端指定字符集)。
---------------------------------------
有没有其他方法可以让mysql5自动指定字符集,而不是每次连接后都得执行“set names ‘xxx’”?
Variable_name Value
character_set_client latin1
character_set_connection latin1
character_set_database gb2312
character_set_filesystem binary
character_set_results latin1
character_set_server gb2312
character_set_system utf8
character_sets_dir D:\Program Files\MySQL\MySQL Server 5.0\share\charsets\
collation_connection latin1_swedish_ci
collation_database gb2312_chinese_ci
collation_server gb2312_chinese_ci
completion_type 0
concurrent_insert 1
connect_timeout 5
--------------------------
执行“set names ‘gb2312’” 后 查询的结果
Variable_name Value
character_set_client gb2312
character_set_connection gb2312
character_set_database gb2312
character_set_filesystem binary
character_set_results gb2312
character_set_server gb2312
character_set_system utf8
character_sets_dir D:\Program Files\MySQL\MySQL Server 5.0\share\charsets\
collation_connection gb2312_chinese_ci
collation_database gb2312_chinese_ci
collation_server gb2312_chinese_ci
completion_type 0
concurrent_insert 1
connect_timeout 5
-------------------------------------------
这些都正常么?
这是my.ini文件中配置
[client]port=3307[mysql]default-character-set=gb2312
# SERVER SECTION
# ----------------------------------------------------------------------
#
# The following options will be read by the MySQL Server. Make sure that
# you have installed the server correctly (see above) so it reads this
# file.
#
[mysqld]# The TCP/IP Port the MySQL Server will listen on
port=3307
#Path to installation directory. All paths are usually resolved relative to this.
basedir="D:/Program Files/MySQL/MySQL Server 5.0/"#Path to the database root
datadir="D:/Program Files/MySQL/MySQL Server 5.0/Data/"# The default character set that will be used when a new schema or table is
# created and no character set is defined
default-character-set=gb2312
才能用,这是做不到的,db控件不可能用起来。因为连接控件会自动创建新的连接,而根本不理会你执行过"set names ‘gb2312’"的已有的连接。
character_set_connection latin1
character_set_database gb2312
character_set_filesystem binary
character_set_results latin1
character_set_server gb2312
character_set_system utf8
character_sets_dir D:\Program Files\MySQL\MySQL Server 5.0\share\charsets\
collation_connection latin1_swedish_ci
collation_database gb2312_chinese_ci
collation_server gb2312_chinese_ci
这些值得是一致的。你看看你的都乱成什么样子了 ?
my.ini跟你blog上一致
[mysql] default-character-set=gb2312 [mysqld] default-character-set=gb2312
怎么会都是一样呢?
最后问一下,客户段和mysql5的通讯机制。客户段连接时是发什么信息给mysql5,mysql5设定这个连接的character_set_client 为latin1 的。(当然我知道后面执行“set names 'xxx'”能改变连接设定)
[client] default-character-set=gb2312
改变客户端连接的编码类型[mysqld] default-character-set=gb2312
改变SERVER端的编码类型而不是你写的那样
Variable_name Value
character_set_client gb2312
character_set_connection gb2312
character_set_database gb2312
character_set_filesystem binary
character_set_results gb2312
character_set_server gb2312
character_set_system utf8
character_sets_dir D:\Program Files\MySQL\MySQL Server 5.0\share\charsets\
collation_connection gb2312_chinese_ci
collation_database gb2312_chinese_ci
collation_server gb2312_chinese_ci
completion_type 0
concurrent_insert 1
connect_timeout 5
很正常,跟版主说的一样。
我想问客户段和mysql5的通讯机制。客户段连接时是发什么信息给mysql5,mysql5设定这个连接的character_set_client 为latin1 的。
可另开帖给分