- 17
- 3月
在网上搜索了半天得到的东东,还没实验过^_^
三句真言:
SET NAMES utf8;
SET CHARACTER SET utf8;
SET COLLATION_CONNECTION=’utf8_general_ci’;
建立conn时,query一下这三个语句,再进行别的操作。
解释:
有两个语句可以改变connection character set:
1. SET NAMES ‘charset_name’;
2. SET CHARACTER SET charset_name;
SET NAMES告诉服务器客户端将使用什么样的字符集来发送SQL命令,也同时指定服务器返回给客户端所使用的字符集。
SET NAMES ‘x’ 等效于:
SET character_set_client = x;
SET character_set_results = x;
SET character_set_connection = x;
(注: SET character_set_connection = x; 语句同时也自动指定了字符集x的默认collation为 collation_connection的值,但也可以用 SET NAMES ‘charset_name’ COLLATE ‘collation_name’来提定你想使用的collation。)
SET CHARACTER SET和SET NAMES作用相似,但它将连接的字符集和collation设置为默认数据库的字符集和collation。
SET CHARACTER SET x 等效于:
SET character_set_client = x;
SET character_set_results = x;
SET collation_connection = @@collation_database;
(注:SET collation_connection同时也会自动设置character_set_connection。)
如果不希望MySQL在返回结果时进行转换,可以使用SET character_set_results = NULL;语句