hibernate向MYSQL插入数据的乱码问题
发布网友
发布时间:2022-04-08 01:49
我来回答
共2个回答
懂视网
时间:2022-04-08 06:10
character_set_server=utf8 #这个是我添加的
init_connect=‘SET NAMES utf8‘
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
symbolic-links=0
[mysqld_safe]
default-character-set = utf8 #这个是我添加的
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
[client]
default-character-set = utf8 #这个是我添加的
[mysql.server]
default-character-set = utf8 #这个是我添加的
[mysql]
default-character-set = utf8 #这个是我添加的
mysql> show variables like ‘%char%‘;
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
2 数据源url连接配置
在xml配置文件中配置数据库url时,要使用&的转义字符也就是&
<property name="url" value="jdbc:mysql://localhost:3306/customer?useUnicode=true&characterEncoding=UTF8"</property>
3.Tomcat
tomcat默认的字符集是ISO-8829-1,修改成utf-8
修改server.xml文件
<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="utf-8"/>
utf8 和 UTF-8 在使用中的区别
总结:【只有在MySQL中可以使用“utf-8”的别名“utf8”,但是在其他地方一律使用大写“UTF-8”。】
本文出自 “一无所有-天行者” 博客,请务必保留此出处http://tianxingzhe.blog.51cto.com/3390077/1672424
hibernate插入中文到mysql数据库乱码
标签:mysql中文乱码
热心网友
时间:2022-04-08 03:18
如果你确定是插入数据库时乱码
而不是之前的数据就是乱码
我这有收藏解决MySQL乱码的解决方法
很多时候直接按照第三点更改就可以解决问题
如果解决不了,请补充.
(1)修改 my.ini(MySQL Server Instance Configuration 文件)
# CLIENT SECTION
[client]
port=3306
[mysql]
default-character-set=gbk
# SERVER SECTION
[mysqld]
default-character-set=gbk
(2)修改data目录中相应数据库目录下的db.opt配置文件
default-character-set=gbk
default-collation=gbk_chinese_ci
(3)数据库连接串中指定字符集
URL=jdbc:mysql://yourIP/college?user=root&password=yourPassword&useUnicode=true&characterEncoding=gbk
(4)在创建数据库时指定字符集
create database yourDB CHARACTER SET gbk;
hibernate插入中文(一个字)就抱Date too long异常,英文没事 还有hiber...
常见是表的字段是非字符类型,引起长度问题,查看一下该字段的类型是否文字类型,如char,vchar,text……。还有Hibernate的String默认生成的表字段长度是255,不要超过这长度,要么就设置长度,不使用默认长度。
想问一个struts1.2+hibernate3.2+mysql4.0插入数据和读取数据乱码问题...
只要涉及中文的地方全部是乱码,解决办法:在数据库的数据库URL中加上useUnicode=true&characterEncoding=GBK就OK了。四、数据库的显示乱码 在mysql4.1.0中,varchar类型,text类型就会出现中文乱码,对于varchar类型把它设为binary属性就可以解决中文问题,对于text类型就要用一个编码转换类来处理,实现如下:...
hibernate 配置MySQL方言,报MySQL 语法错误。哪位高手帮忙解决下,谢 ...
下面这个地方错了:from shenluyuannet.dbo.admin admin0_from的语法是:数据库名.表名,也就是最多只能有一个点,你检查一下你究竟需要查哪个数据库的哪个表,可能你有个.是其它符号。
用JAVA插入到mysql中出现乱码是什么原因?
1.在安装数据库的过程中将默认的拉丁文-->GBK。2.在创建数据库时设置选择GBK或者gb2312。3.Mysql安装目录下的my.ini文件,将 "default-character-set=xxxxx"中的xxxxx改成GBK或者gb2312。4.Mysql安装目录下的\\data\\databasename(数据库名)\\db.opt文件打开 default-character-set=gbk default-co...
hibernate插入一张表中数据时报错,更新和删除不包错但数据库中的数据...
出现这个错误原因有三个:(1)这个异常是由于主键设置为自增长,而在我们插入记录的时候设置了ID的值导致的。(2)使用的是hibernate的saveOrUpdate方法保存实例 saveOrUpdate要求:只有ID为null才执行save,其他情况下执行update 在保存实例的时候是新增,但你的ID不为null,所有就执行update操作,可是数据库...
Linux系统下MYSQL数据库中文数据乱码问题
根据你的问题,数据库不在自己手边。那首先要调查清楚,数据表的编码,看清,不是数据库,是表,表的字符集编码。然后往前顺。然后再java程序中转码,保证写到sql中的数据是以该数据表所用的字符集编码的就好了。乱码出现在不同部分的通信之间 一个系统中,通常是在显式输入中文的地方发生转码错误。比...
我的MYSQL里面的中文都变成问号了?
2、打开hibernate配置文件,添加如下代码:<property name="url"> jdbc:mysql://localhost/test?user=root;password=123456;useUnicode=true;characterEncoding=gbk </property> 3、重启mysql,ok!查找了N多资料,自己总结尝试可以,我的就是怎么解决的,如果你的问题解决了,麻烦说一声哦,祝你好运!
关于hibernate的 org.hibernate.exception.SQLGrammarException...
用hibernate时遇到报错是因为设置错误,解决方法如下:1、首先定义一个接口,参数为sql语句,然后定义用一个类来实现这个接口。2、使用hibernate的getHibernateTemplate方法获得对象,获得sesson工厂,建立数据库连接即可。3、然后就可以使用数据库的操作,比如Statement对象进行相关操作,此方法中接收的参数使用;...
org.hibernate.exception.DataException: Out of range value for c...
1. 可能是因为数据库里的表设置的字符集不相同。2. 也可能真是数据库字段里数据库确实过长(我是遇到的这种情况)。例如:在同一个数据库中,存在utf8的表,也存在gbk_chinese_ci的表。解决办法:alter table `cms_activity_test` convert to character set gbk collate gbk_chinese_ci;(单独修改...
HIBERNATE无法将NULL值插入列'id',一个主键自增问题
这个可以看一下Hibernate的参考 下面给你贴generator部分 increment 用于为long, short或者int类型生成 唯一标识。只有在没有其他进程往同一张表中插入数据时 才能使用。 在集群下不要使用。identity 对DB2,MySQL, MS SQL Server, Sybase和HypersonicSQL的内置标识字段提供支持。 返回的标 识符是long, short...