插入的时候是用new String(content.getBytes("gbk"),"iso-8859-1")编码了,如果不编码插入中文时会提示data too long for...。页面读取中文是没有问题(中文是我在Mysql中直接操作插入的)。就是从页面插入中文总是显示(???)。在页面也添加了request.setCharacterEncoding("GBK"); response.setContentType("text/html;charset=GBK"); 我感觉数据库编码应该是没有问题,因为可以插入中文并正常显示。问题好像是在页面的提交和处理过程中。不知大家有没有遇到过这样的问题。
编码全部设成gbk应该也可以吧,难道只能设置成utf-8吗? 感觉希望在向我靠近,问题如下: liuyunfeng01() 不是说: 插入数据库需要new String(content.getBytes("gbk"),"iso-8859-1")编码 从数据库中读出需要使用new String(content.getBytes("iso-8859-1"),"gbk")解码。我刚刚看了一下发现插入如果是用new String(content.getBytes("iso-8859-1"),"gbk")编码,出现错误:Data too long for column。 然后用new String(content.getBytes("gbk"),"iso-8859-1")编码后可以插入,但是显示乱码。
还不行 只能转码了,出现问题的地方 可能有很多
插入数据库需要new String(content.getBytes("gbk"),"iso-8859-1")编码
从数据库中读出需要使用new String(content.getBytes("iso-8859-1"),"gbk")解码
转换一下就OK了!
response.setContentType("text/html;charset=GBK");
我感觉数据库编码应该是没有问题,因为可以插入中文并正常显示。问题好像是在页面的提交和处理过程中。不知大家有没有遇到过这样的问题。
感觉希望在向我靠近,问题如下:
liuyunfeng01() 不是说:
插入数据库需要new String(content.getBytes("gbk"),"iso-8859-1")编码
从数据库中读出需要使用new String(content.getBytes("iso-8859-1"),"gbk")解码。我刚刚看了一下发现插入如果是用new String(content.getBytes("iso-8859-1"),"gbk")编码,出现错误:Data too long for column。
然后用new String(content.getBytes("gbk"),"iso-8859-1")编码后可以插入,但是显示乱码。
如果你的编码统一,绝对是没有问题的,即使我存取了韩文存到GB2312的表中,读取时只要按照韩文编码显示就没有问题,我的意思是说,数据库系统可以屏蔽掉,只要你存什么格式,读取就用什么格式就没事了,要注意的是数值在传输中的处理,你说你的“网页也用的gbk”,你能确保它传输使用GBK编码吗?
然后在写入和读出的时候都不用编码转换,我想就可以,我前几天还这样试过的!