mysql存储中文字符乱码
来源:互联网 发布:算法分析的目的是 编辑:程序博客网 时间:2024/06/08 06:50
在使用原生的JDBC的同学不知道有没有遇到过类似的问题mysql中的中文乱码的问题,首先表现就是我们存储的时候参数明明使用的是中文,但是Java代码执行完成后数据库中变成了 “???” 也就是中文乱码。遇到这个别着急,这里有几种方式我们排除:
1.先确定数据库新建表的时候采用的存储引擎是支持中文的:就是在建表的时候在后面跟上:engine=InnoDB default character set=utf8;
下面是我的建表语句:
create TABLE user(`id` INT(11) PRIMARY KEY auto_increment comment '主键',`user_name` VARCHAR(20) not NULL DEFAULT '' comment '用户名',`age` int(4) not NULL DEFAULT 0 comment '年龄',`phone_number` VARCHAR(11) NOt NULL DEFAULT '' comment '电话',`sex` tinyint(4) not NULL DEFAULT 0 comment '性别',`pass_word` VARCHAR(20) not NULL DEFAULT '' comment '密码',`birthDay` TIMESTAMP NOt NULL DEFAULT CURRENT_TIMESTAMP )engine=InnoDB default character set=utf8;
这里我采用的是 InnoDB 存储引擎,设置的编码格式是 utf8;
2.这样的话要是还是存储的时候产生中文乱码:
看看咱们的数据库连接的时候设置的编码问题:url=jdbc:mysql://127.0.0.1:3306/servlet?useUnicode=true&characterEncoding=utf8
在建立数据库的连接的时候,需要设置这一句话,数据库才是在连接时使用的我们自定义的编码格式。(我就是这里出的问题)
3.要是以上的两种方式都不行,还有第三种问题:
在添加参数的时候加上getBytes("ISO-8859-1"),"UTF-8")
这句话就是说把字节流以utf8格式进行编码存储
4.要是还不行:那就去修改mysql的安装路径下的文件:
编辑/etc/my.cnf ,在[mysql]段加入default_character_set=utf8;
应该问题不大了。多试试,要是get/post提交的话,还要考虑传输过程中的乱码问题。
0 0
- mysql存储中文字符乱码
- MySQL中文字符乱码
- mysql中文字符乱码
- mysql存储过程中文乱码
- mysql中文字符编码乱码解决方案
- mysql中文字符的乱码问题
- java中文字符写入MySQL乱码问题
- 解决MySQL插入中文字符乱码问题
- JDBC 连接mysql,存储出现中文乱码
- 解决mysql存储中文乱码问题
- MySQL 中存储过程 中文乱码问号???
- mysql不能插入中文字符以及中文显示乱码问题
- 【MySql】MySql数据库中插入中文字符,显示乱码解决办法
- 关于MySQL中文字符出现乱码的问题
- 字符编码知识以及mysql中文乱码的解决
- mysql字符编码并解决中文乱码问题
- JSP向MySQL数据库中写入中文字符乱码问题
- java 向 mysql插入中文字符乱码问题解决
- MATLAB中floor、round、ceil、fix区别
- ucenter通信实现同步登录、同步退出(详细)
- 15章实例6
- 本应用数据清除管理器
- 分区之分区设备文件名与挂载
- mysql存储中文字符乱码
- 【DVB】【ATSC】ATSC和DVB数字电视系统的比较
- 怎么用EDIUS制作字幕末屏停留
- C++ bitset类的使用与简介
- 计算两个日期的间隔时间(转载)
- BZOJ 2243/HDU 5893([SDOI2011]染色/List wants to travel-树链剖分点权/边权)
- epoll机制
- Hibernate操作持久化对象
- [Android] 好用的数据库Realm 简单使用 增删改查