JDBC连接MYSQL:数据库中插入中文时数据库中显示'???' 请帮帮忙了! 5

通过终端直接插入汉字时,数据库可以正常显示汉字,可是通过java代码读出来得确是'???',然后在网上找了很多解决办法,像设置my.ini、重建表后乱码问题没有解决,反而... 通过终端直接插入汉字时,数据库可以正常显示汉字,可是通过java代码读出来得确是'???',然后在网上找了很多解决办法,像设置my.ini、重建表后乱码问题没有解决,反而终端插入汉字时报错!该如何解决? 展开
 我来答
ys5955092
2011-04-23 · TA获得超过671个赞
知道小有建树答主
回答量:551
采纳率:100%
帮助的人:564万
展开全部
在连接时,设置 "SET NAMES gb2312")//这里的gb2312是你的mysql数据库编码格式
然后在java读取是,请设置下你的页面编码格式与数据库相同,或者用编码转换函数转换成你需要的页面编码
追问
在mysql终端输入 set names gb2312是吗 然后我的java程序应该怎么写呢 我用的jdbc 不知道java设置编码的API。
追答
我没写过java代码,就是说你的java程序在运行odbc连接成功能,先要执行一下mysql的query
执行代码为query($this -> dbLink, "SET NAMES gb2312");
然后再执行你的其他query("select * from xxx........")
cmkanna
2011-04-26 · 超过27用户采纳过TA的回答
知道答主
回答量:91
采纳率:100%
帮助的人:66.4万
展开全部
request.setCharacterEncoding("GB2312");
这是将所有的 HttpServletRequest request, 请求都转换成 gb2312 字符集。
这样要插入的数据 跟 数据库设定的字符集就是一致的。也避免了乱码的问题。
这是每一个action 里面 都得添加这个字符集转换。

还有一种方法是在 web.xml 配置文件配置字符集转换。这一块你可以在百度搜索
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式