试试转码:
String newstring = new String(s.getBytes("gb2312"),"ISO8859_1");
其中,s是你要插入到数据库中的字符串。转换后,把newstring插入数据库。你可以搜索一下“中文”或者“转码”,也许会找到些有用的东西。
String newstring = new String(s.getBytes("gb2312"),"ISO8859_1");
其中,s是你要插入到数据库中的字符串。转换后,把newstring插入数据库。你可以搜索一下“中文”或者“转码”,也许会找到些有用的东西。
解决方案 »
- 求教interface与abstract有什么区别
- java 连接用thin连接数据库进行查询,发现线程执行这个executeQuery就出来了?为什么?
- 使用jdbc 连接db2 数据库问题
- 算法题:根据数组访问的次数排序,请教中??
- 菜鸟求救关于整形long范围!
- 请教各位大虾,如何写一个只有一个实例的类!
- 关于enqueue上的同步问题
- 在struts + hibernate设计中如何将action获得的对象集合在网页上表示出来
- 在java中如何写可以使字符串中含有硬回车符?
- JoptionPane.showMessagDialog界面上显示的那个叹号图标存在什么位置了?
- 如何清空cache
- 如和在dos下只打java或appletviewer反正就是bin文件夹中的程序就运行
其实你就用s.getBytes("gb2312")得到的字节数组写入数据库就行了
public static String UnicodeToChinese(String s){
try{
if(s==null||s.equals("")) return "";
String newstring=null;
newstring=new String(s.getBytes("ISO8859_1"),"gb2312");
return newstring;
}
catch(UnsupportedEncodingException e)
{
return s;
}
}public static String ChineseToUnicode(String s){
try{
if(s==null||s.equals("")) return "";
String newstring=null;
newstring=new String(s.getBytes("gb2312"),"ISO8859_1");
return newstring;
}
catch(UnsupportedEncodingException e)
{
return s;
}
}
应该是
jdbc:mysql://[hostname][:port]/dbname?useUnicode=true&characterEncoding=GB2312楼上的兄弟,你的那个方法对于数据库存取不行,因为编码转换部分是在jdbc驱动内完成的,如果不在取数据的时候设置编码为gb2312,jdbc取数据的时候就会按照错误的编码进行编码转换