关于数据库乱码的问题,以mysql数据库为例(个人心得,勿喷)
来源:互联网 发布:淘宝网泾县宣纸 编辑:程序博客网 时间:2024/06/05 17:21
如果要保证字符不乱码,最基本的原则是一定保证数据库中的编码和系统的编码一致。
(系统字符集可以通过如下代码查看:System.out.println("系统字符集:"+System.getProperty("file.encoding")); )
修改mysql的数据库文件my.ini可以修改mysql数据库的字符集,以由最初的配置latin1修改成gbk为例。
修改两处:default-character-set=latin1
改为:default-character-set=gbk
注意:1.修改后要重启数据库才行。
2.通过在mysql客户端命令输入:show variables like 'character_set_%';查看各项是否都已经改成了相应的字符集
+--------------------------+-----------------------------------------------------------------------------------+
| Variable_name | Value |
+--------------------------+------------------------------------------------------------------------------------+
| character_set_client | gbk |
| character_set_connection |gbk |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results |gbk |
| character_set_server |gbk |
| character_set_system | utf8 |
| character_sets_dir | D:\Program Files\MySQL\MySQL Server 5.0\share\charsets\ |
+--------------------------+-------------------------------------------------------------------------------------+
我们可以看出,并不是所有的条目都改成了gbk字符集,所以在这里建议如果只是一个测试数据库,可以删除后重新建立,那么之后所有的
条目就会都成为gbk了。(分析原因:因为修改数据库字符集之前,数据的字符集character_set_database已经是latin1字符集了,所以只是
通过简单的修改my.ini配置文件是不够的。)
当然,如果你不希望删除已经建立的数据库,这里也有办法滴!这也是本文讲解的重点,搞了好久才发现。
我们应该找到mysql安装目录下的data文件中,在那里存放了我们已经建立好的数据库,我们可以直接修改数据库选项文件:
比如名为:SDU的数据库文件夹下有db.op,我们打开可以修改里面的选项:
default-character-set=latin1
default-collation=latin1_chinese_ci
改成:
default-character-set=gbk
default-collation=gbk_chinese_ci
这样就OK啦!
- 关于数据库乱码的问题,以mysql数据库为例(个人心得,勿喷)
- SSH整合过程中中文乱码问题的解决方案(以mysql数据库为简单案例)
- 关于mysql数据库的中文乱码问题
- 关于mysql数据库乱码问题
- 以中文为查询条件查询mysql数据库时有数据却查不到数据或者中文乱码的问题
- 关于数据库乱码的问题
- MySQL数据库的乱码问题
- MySQL数据库的乱码问题
- mysql数据库的???乱码问题
- Mysql:关于数据库数据读写的乱码问题
- 关于hibernate写入mysql数据库乱码的问题
- 关于MYSQL数据库中文显示乱码问题
- 关于mysql数据库存储数据乱码问题
- 关于写入MySQL数据库乱码问题
- 关于Android数据库升级的实践(以ormlite为例)
- 关于mysql数据库备份的心得
- android链接数据库,以mysql为例
- MyEclipse连接打开数据库(以mysql为例)
- 一致性哈希
- JQUERY3D图片切换
- 出现this application has requested the runtime的解决方法
- bing翻译接口appID申请教程【"TranslateApiException: AppId is over the quota 】
- try catch的使用源自网络整理
- 关于数据库乱码的问题,以mysql数据库为例(个人心得,勿喷)
- 天鹏云购
- MediaRecorder和MediaPlayer的简单使用
- 统计最常用脚本命令
- 嵌入式 hi3518c平台网卡模式MII与RMII模式在Uboot和kernel中切换小结
- expire_logs_days具体示例
- optparse模块
- M3U8格式讲解及实际应用分析
- [转]asp.net 前台绑定后台变量方法总结:<%= %> 和<%# %>的区别