分类: Mysql/postgreSQL
2013-04-23 08:29:47
说起数据库编码格式很多程序员都会很头疼,因为对他们而言去创建一个数据库或者说对数据库执行増、删、改、查操作已经不是什么难事,但是在开发过程中经常发生的是乱码问题。这个问题处理起来让人很烦乱,所以有很多程序员宁愿多做一些编程工作也不愿意将时间浪费到这个上面。其实针对数据乱码问题我们只要在开发过程中始终遵循一条不变道理——在程序运行的全过程中编码格式统一即可。我就出现过这样的问题,前几天帮同学调个程序,不论怎么在前台界面与java代码接口处设置编码格式或在java程序与数据库接口处设置编码格式都不起效果,经过一番艰苦的查找发现我的数据库编码格式与我在整个编程过程中地编码格式完全不同,数据库server的编码格式为UTF-8,而开发过程中前台jsp与后台java代码的编码格式均为gb2312,因为数据库的server编码格式是不能够通过执行命令去设置的,所以只能重新装数据库引擎,还好用的是mysql数据库卸载与安装都不是很费事。
下面说一下如何通过命令设置mysql数据库的编码格式:
1、通过DOS登录到mysql数据库
2、查看当前数据库的编码格式: mysql>status;或者show variables like 'character%' ;
上面显示server characterset : gb2312; 数据库服务器编码格式
Db characterset : gb2312; 数据库编码格式
Client characterset : gb2312 数据库客户端编码格式
Conn. characterset : gb2312 数据库连接编码格式
3、设置编码格式:set names 'gb2312'
通过set命令只能够设置Db、Client、Conn的编码格式,在设置编码格式过程中,如果不知道当前安装的数据库到底有多少种编码格式那么可以通过show character set;命令显示当前数据库的所有编码格式集合。如果想要修改server的编码格式在我看来只能够重装数据库了(目前还不了解如何去设置), 因为有些时候迫使你不得不去重新安装数据库。