如何解决hibernate中文乱码问题
2013-07-10
展开全部
1、使用gb2312编码,变更mysql的数据库编码字符集。cmd模式下用mysql --default-character-set=gb2312 -u root -p进入,然后再每个建表语句后增加default character set gb2312;
重新建立数据表。
值得注意的地方是:applicationContext.xml中的数据库连接必须设置为<property name="url"><value>jdbc:mysql://localhost/struts?useUnicode=true&characterEncoding=gb2312</value></property>,这样插入的才是正常的中文,否则就是乱码。
2、在进行数据保存之前进行gb2312到iso8859-1编码的转换,数据?寥≈�笤僮�还�础?
这时的applicationContext.xml中的数据库连接必须设置为<property name="url"><value>jdbc:mysql://localhost/struts</value></property>,这样插入的才是正常的中文,否则就是乱码。
它们相同的地方是在用jsp进行中文内容填加时,都要进行gb2312到iso8859-1编码的转换:
String name;
name=trans(request.getParameter("name"));
String trans(String chi)
{
String result = null;
byte temp [];
try
{
temp=chi.getBytes("iso-8859-1");
result = new String(temp);
}
catch(java.io.UnsupportedEncodingException e)
{
System.out.println (e.toString());
}
return result;
}
String trans(Object chi)
{
return trans(chi.toString());
}
重新建立数据表。
值得注意的地方是:applicationContext.xml中的数据库连接必须设置为<property name="url"><value>jdbc:mysql://localhost/struts?useUnicode=true&characterEncoding=gb2312</value></property>,这样插入的才是正常的中文,否则就是乱码。
2、在进行数据保存之前进行gb2312到iso8859-1编码的转换,数据?寥≈�笤僮�还�础?
这时的applicationContext.xml中的数据库连接必须设置为<property name="url"><value>jdbc:mysql://localhost/struts</value></property>,这样插入的才是正常的中文,否则就是乱码。
它们相同的地方是在用jsp进行中文内容填加时,都要进行gb2312到iso8859-1编码的转换:
String name;
name=trans(request.getParameter("name"));
String trans(String chi)
{
String result = null;
byte temp [];
try
{
temp=chi.getBytes("iso-8859-1");
result = new String(temp);
}
catch(java.io.UnsupportedEncodingException e)
{
System.out.println (e.toString());
}
return result;
}
String trans(Object chi)
{
return trans(chi.toString());
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-07-10
展开全部
<property name="connection.characterEncoding">utf8</property>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-07-10
展开全部
设置下编码格式就行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-07-10
展开全部
用UTF-8,这样就可以解决
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询