GBK转成GB2312的问题
现在在维护一个系统,这个系统的页面都是用GBK的编码但是需要保存数据时将其转成GB2312存入数据库(原代码)
这样导致的一个问题就是经常有些汉字会变成“?”
我现在想知道,如果我依然将以GBK编码保存的话(也就是改变保存时的编码)
会对数据有什么样的影响(过去的数据库里的数据读取和以后的数据存储)?
希望各位大侠。。。能讲解一下 --------------------编程问答-------------------- GB2312应该包括GBK吧 --------------------编程问答-------------------- 还真没试过!
不过换成我,就这样搞
将GB2312的数据库备份,复制货创建一个新的GBK的数据库
同步表结构,同步数据
然后用新的库就行了 --------------------编程问答-------------------- 大侠们,有没有实效一点的转换方法呢,经常会因为某个字的转换出现“?”,不能弄乱数据库啊。。。最好是在转换的地方能将它处理掉
--------------------编程问答-------------------- 1楼说反了..
GBK 包括 GB2312 ... --------------------编程问答-------------------- 试试用输入流设置格式呢? --------------------编程问答--------------------
把输入转换为字节流,然后想转啥转啥 --------------------编程问答-------------------- GBK完全兼容GB2312 ,如果你的数据中不含有繁体字、日文、韩文的话,他们两个应该是一样的把。
我觉得不转直接存就好了 --------------------编程问答--------------------
正解! --------------------编程问答-------------------- String str=new String(str.getbytes("gbk"),"gb2312") --------------------编程问答-------------------- 似乎:你们都没有说到楼主点子上,楼主又不是把一句话转编码
而是整个数据库 --------------------编程问答-------------------- 先把数据库备个份.
可以把GB2312改为GBK保存,数据库里面以前的GB2312读出来的时候,在页面里面也可以使用GBK呈现,因为GBK包含
GB2312,就像所有编码都包含ASCII码一样
补充:Java , Web 开发