问题描述
本人现在正在做一个SSH(struts+spring+Hibernate)项目,数据库使用mysql。mysql中的字符集用latin1,即iso-8859-1,因为数据库是网上服务器的,不能改变其编码。在Eclipse中使用的是utf8的编码。现在网页向数据库插入中文信息时,数据库保存的都是问号(?)。请问各位大侠们,怎么向数据库插入中文?即怎么使得插入的中文是iso-8859-1编码的。
解决方案
解决方案二:
当然是转码了,自己写一个转码的专属累,没吃插入数据库都用,该类的这个方法,不过你从数据库中取出来的时候,还是要转回原来的编码,urf-8的
解决方案三:
取出来后要转换编码格式。
解决方案四:
最好统一编码UTF-8,如果不想就要转码,在插入数据库的时候就进行转码newString(str.getBytes("ISO-8859-1"),"UTF-8");在页面显示的时候也要转码。newString(str.getBytes("UTF-8"),"ISO-8859-1");
解决方案五:
在spring里配个过滤器试试
解决方案六:
引用3楼ibm_hoojo的回复:
CSScode最好统一编码UTF-8,如果不想就要转码,在插入数据库的时候就进行转码newString(str.getBytes("ISO-8859-1"),"UTF-8");在页面显示的时候也要转码。newString(str.getBytes("UTF-8"),"ISO-8859-1");
顶!!
解决方案七:
你的数据库怎么在服务器上呢,奇怪了。你可以试试这样:在spring里配置下。
解决方案八:
Hibernate.hbm.xml里面连接数据库加上jdbc:mysql://192.168.0.1:3306/test?useUnicode=true&characterEncoding=gbk
把GBK改成和你数据库对应的编码,不过iso-8859-1编码插入中文还是乱码的!只能改为支持中文的编码才有效!~LZ在建表的时候在后面加上createtableproduce(idintauto_increment,testvarchar(255))ENGINE=InnoDBDEFAULTCHARSET=gbk;
这样你的表就是GBK的编码了,你可以在上面连接数据库的时候设置GBK即可
解决方案九:
晕倒,颜色不显示
解决方案十:
在服务器上,用命令修改
解决方案十一:
这个问题很容易解决,所有的地方,只要可以设置编码的地方就用utf-8,用别的话很容易产生乱码~~转来转去的,那是瞎折腾~~所以全部采用utf-8·~在web。xml里面也强制转为utf-8~~这样一次设置全部搞定~~
解决方案十二:
最彻底的办法就是在web.xml里加一个过滤器filter(spring包了自带了),web.xml加入代码如下:<filter><filter-name>SetCharacterEncoding</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>GBK</param-value></init-param></filter><filter-mapping><filter-name>SetCharacterEncoding</filter-name><url-pattern>*.jsp</url-pattern></filter-mapping><filter-mapping><filter-name>SetCharacterEncoding</filter-name><url-pattern>*.do</url-pattern></filter-mapping>