mysql中文乱码,无法插入中文的解决办法总结
作者 佚名技术
来源 Linux系统
浏览
发布时间 2012-04-07
------------------ | Variable_name | Value | -------------------------- --------------------------------------------------------------------------- | character_set_client | latin1 | | character_set_connection | latin1 |
| character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | latin1 | | character_set_server | utf8 | | character_set_system | utf8 | | character_sets_dir | /usr/local/src/mysql-5.1.11-beta-linux-i686-glibc23/share/mysql/charsets/ | -------------------------- --------------------------------------------------------------------------- 8 rows in set (0.00 sec) mysql> SHOW VARIABLES LIKE ''collation_%''; ---------------------- ------------------- | Variable_name | Value | ---------------------- ------------------- | collation_connection | latin1_swedish_ci | | collation_database | utf8_general_ci | | collation_server | utf8_general_ci | ---------------------- ------------------- 3 rows in set (0.01 sec) 从上面可以看出,使用了配置文件中修改默认字符集的方法,并没有把client、connection、 results这三项改成utf8,在建数据库的时候我们可以通过这样的指令实现数据库的字符集设置: CREATE DATABASE `database` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; 这样此数据库内的所有表和字段都将为utf8字符集编码,在配置文件中修改的方法也就失去了意义. b、我的解决办法. 我们可以完全无视数据库默认的字符集是什么,我们关心的只有数据库在建立的时候是不是加入了字符集 选择.
(1)使用如下指令建立数据库: CREATE DATABASE `database` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; (2)客户端php程序使用如下方法设定连接所使用的字符集: PHP程序在查询数据库之前,执行mysql_query("set names utf8;"); 例子: 1. <?php 2. mysql_connect(''localhost'',''user'',''password''); 3. mysql_select_db(''my_db''); 4. 5. //请注意,这步很关键,如果没有这步,所有的数据读写都会不正确的 6. //它的作用是设置本次数据库联接过程中,数据传输的默认字符集 7. mysql_query("set names utf8;"); 8. 9. //将gb2312(本地编码)转换成utf-8,也可以使用iconv()函数 10. mysql_query(mb_convet_encoding("insert into my_table values(''测试'');","utf-8","gb2312")); 11. ?> (3)如果你想使用gb2312编码,那么建议你使用latin1作为数据表的默认字符集,这样就能直接 |
||
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于mysql中文乱码,无法插入中文的解决办法总结的所有评论