java读取access数据库表字段名中文乱码,试过一些方法还是解决不了。

一个swing页面,放了个浏览按钮,让用户选择access数据库路径,然后拼成链接字符串。
连接方式为:
url = jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=" + mdbPath + "";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con = DriverManager.getConnection(url);

要根据用户的选择读取出数据库中的表名,然后根据表名读取出字段名。
ResultSetMetaData rsmd = pstmt.getMetaData();
但只要字段名是中文的就乱码,new String(rsmd.getColumnName(i).getBytes(),"GBK")这些也试过了还是不行。

还有就是链接字符串url中如果出现中文路径,就打开不数据库。估计也是乱码的原因。。

怎么解决啊??? :cry:

3个回答

这是编码方式的问题,自己写一个专门将ISO-8859-1编码转换成GB2312编码的函数,然后在你所说的需要用到中文而出现乱码的地方调用这个函数,就OK了。
给你个建议,像你所说的那些地方最好不要用中文,有些地方不支持中文编码的,毕竟是老外开发的东东。。。

servlet:
request.setCharaterEncoding("utf-8");

防止中文参数传递乱码:

  1. window.location = encodeURI("XXXX/check?userName=" + userName);
  2. window.location.href = "XXXX/check?userName=" + userName;

这些方法你可以试试,是我平常总结的!

为什么我的没乱码呢?

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问