mysql 数据库字符集问题
2013-04-28 18:54
246 查看
ubuntu apt-get install mysql-server.
这样安装之后,产生的字符集为 utf8 与 latin1的混合。
其中,会使界面产生乱码的变量: character_set_database 和 character_set_server 刚好这两个都是latin1的。其他的是utf8。
而使用语句 set names utf8, 他对应的设置 character_set_client, character_set_results, character_set_connection 为utf8. 嘿嘿 治标不治本。
修改 my.ini :
在[mysqld] 下在 添加 default-character-set = utf8(mysql5.5 添加 character-set-server=utf8) 将character_set_server, character_set_database 改为utf8。这就保证了 你直接在数据库创建database时,采用的默认编码是utf8。
在[client]下 添加 default_character_set = utf8.这句保证了客户端连接服务器时采用的是utf8。(只针对mysql,mysqladmin, mysqlcheck, mysqlimport和mysqlshow这些客户端命令程序)
这样看貌似完了,但问题是如果用代码连接还有乱码..... 使用代码连接时还要使用 set names utf8。或者在 [mysqld] 中添加 init_connect = 'set names utf8'。
如果,已经创建的数据库不是utf8, 可以通过 alter database `dbname` set default character set utf8 来修改该库的默认字符集。
这样安装之后,产生的字符集为 utf8 与 latin1的混合。
其中,会使界面产生乱码的变量: character_set_database 和 character_set_server 刚好这两个都是latin1的。其他的是utf8。
而使用语句 set names utf8, 他对应的设置 character_set_client, character_set_results, character_set_connection 为utf8. 嘿嘿 治标不治本。
修改 my.ini :
在[mysqld] 下在 添加 default-character-set = utf8(mysql5.5 添加 character-set-server=utf8) 将character_set_server, character_set_database 改为utf8。这就保证了 你直接在数据库创建database时,采用的默认编码是utf8。
在[client]下 添加 default_character_set = utf8.这句保证了客户端连接服务器时采用的是utf8。(只针对mysql,mysqladmin, mysqlcheck, mysqlimport和mysqlshow这些客户端命令程序)
这样看貌似完了,但问题是如果用代码连接还有乱码..... 使用代码连接时还要使用 set names utf8。或者在 [mysqld] 中添加 init_connect = 'set names utf8'。
如果,已经创建的数据库不是utf8, 可以通过 alter database `dbname` set default character set utf8 来修改该库的默认字符集。
相关文章推荐
- mysql导入数据库出现异常(数据库字符集问题),如何解决??
- 简析mysql字符集导致恢复数据库报错问题
- mysql主从数据库同步和字符集问题
- MYSQL两个数据库字符集保持一致问题
- mysql主从数据库同步和字符集问题
- mysql主从数据库同步和字符集问题
- mysql字符集乱码问题
- MySQL 数据库名大小写问题 导致的c3p0连接池 出错
- 新安装的mysql关于字符集的问题
- 利用反射传输存储过程参数,在mssql和mysql两种数据库中存在的问题
- 数据库MYSQL技术问题
- MySQL5.0中文问题及JDBC数据库连接和JSP汉字编码问题解决方法总结
- mysqll 数据库相互堵塞问题
- Mac之MySQL初始数据库密码问题
- linux下mysql的默认字符集修改和默认数据库引擎的修改
- 字符集问题的初步探讨(二)-数据库的字符集
- MySQL字符集的问题总结
- mysql 导入数据库问题
- 关于配置了数据库方言为MySQLInnoDBDialect后Hibernate不能自动建表的问题
- mysql创建数据库指定字符集