您的位置:首页 > 数据库 > MySQL

mysql保存中文乱码原因与解决办法

2013-07-13 18:41 239 查看
mysql的保存中文乱码的情况如下: (1)网站本身的编码。看看设置对了没,比如我设置的UTF-8就检查下编码是不是UTF-8。(一般通过文件右击属性来看,或建立工程的时候来统一设置)
(2)数据库连接字符串的编码。比如java中我连接mysql的相关语句如下: public static String driverName = "com.mysql.jdbc.Driver";
public static String userName = "root";
public static String userPasswd = "123456";
public static String dbName = "myBook";
public static String url = "jdbc:mysql://localhost/" + dbName + "?user="
+ userName + "&password=" + userPasswd
+ "&useUnicode=true&characterEncoding=GBK";............................Class.forName(driverName).newInstance();
connection = (Connection) DriverManager.getConnection(url);.... (3)mysql的字符集设置。 一般都是在这里搞错而出现了mysql乱码。 mysql编码设置可以分为三种设置:数据库的编码、表的编码、和字段的编码。 a、数据库的编码: 在sqlyog工具中操作把,右击数据库点击更改数据库,如图



b、表的编码:
mysql很扯淡的是,表级别也设置了编码,说说咋设置把


右击要修改编码的表,点击更改表如上图,点了以后如下图:


c、字段的编码: mysql字段都有编码设置,还是上面的更改表,不过不点高级属性了。看图:




最后再出一个绝招: SHOW CREATE TABLE 表名CREATE TABLE `wen` (
`id` int(8) DEFAULT NULL,
`bookid` int(8) DEFAULT NULL,
`title` varchar(200) COLLATE gbk_bin DEFAULT NULL,
`content` longtext COLLATE gbk_bin
) ENGINE=InnoDB DEFAULT CHARSET=gbk COLLATE=gbk_bin CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=DYNAMIC
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql 中文乱码