字符集崩溃了。。。
my.ini中设置过utf8 GB2312 GBK 并重启服务,重新建库,用户程序中还是一个汉字对应一个问号。。比较恶心的是应用程序没有源码,我改不了的。原来是用的mysql 3.2一切正常,现在换成mysql5.1就这样了。。
本人对mysql实在是没有经验,搞得头晕了。。老大们出手兄弟一把啊。。我要用触发器。。只能换5.1了。。
在下面的环境下,什么都不改,select Name from t1 是正常的中文,如果set names 'gb2312'或 GBK 时用select 全是不显示。各位帮看下错在哪里了。
mysql>show create table T1;
.....
.....省去数十行。。
ENGINE=MyISAM DEFAULT CHARSET=gb2312 |
--------------------------------------------
mysql>show variables like '%char%';
+--------------------------+-------------------------------------+
| Variable_name | Value |
+--------------------------+-------------------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | gb2312 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | gb2312 |
| character_set_system | utf8 |
| character_sets_dir | C:\MySQL Server 5.1\share\charsets\ |
+--------------------------+-------------------------------------+
8 rows in set
-------------------------------
mysql>show full columns from t1;
.......省去数十行。。
| Name | varchar(7) | gb2312_bin | NO | | | | select,insert,update,references |
(这里gb2312_bin 改成过 gb2312_chinese_ci 也不行 )
-----------------
my.ini
[client]
port=3306
default-character-set=gb2312
init_connect='set names gb2312'
character_set_results=gb2312
[mysql]
default-character-set=gb2312
character_set_results=gb2312
[mysqld]
port=3306
init_connect='set names gb2312'
character_set_server=gb2312
character_set_client=gb2312
basedir="C:/MySQL Server 5.1/"
datadir="C:/Documents and Settings/All Users/Application Data/MySQL/MySQL Server 5.1/Data/"
default-character-set=gb2312
default-storage-engine=myisam
log=sql.log
max_connections=100
query_cache_size=0
table_cache=256
tmp_table_size=26M
thread_cache_size=8
myisam_max_sort_file_size=100G
myisam_sort_buffer_size=52M
key_buffer_size=40M
read_buffer_size=64K
read_rnd_buffer_size=256K
sort_buffer_size=256K
innodb_additional_mem_pool_size=2M
innodb_flush_log_at_trx_commit=1
innodb_log_buffer_size=1M
innodb_buffer_pool_size=77M
innodb_log_file_size=39M
innodb_thread_concurrency=8
——————————————
my.ini里没设置utf8,可是环境变量里却有。。字段是gb2312的,用gb2312却不显示字,用utf8倒能显示。。为什么。。。
>.<