JDBC连接MYSQL:数据库中插入中文时数据库中显示'???' 请帮帮忙了! 5
通过终端直接插入汉字时,数据库可以正常显示汉字,可是通过java代码读出来得确是'???',然后在网上找了很多解决办法,像设置my.ini、重建表后乱码问题没有解决,反而...
通过终端直接插入汉字时,数据库可以正常显示汉字,可是通过java代码读出来得确是'???',然后在网上找了很多解决办法,像设置my.ini、重建表后乱码问题没有解决,反而终端插入汉字时报错!该如何解决?
展开
2个回答
展开全部
在连接时,设置 "SET NAMES gb2312")//这里的gb2312是你的mysql数据库编码格式
然后在java读取是,请设置下你的页面编码格式与数据库相同,或者用编码转换函数转换成你需要的页面编码
然后在java读取是,请设置下你的页面编码格式与数据库相同,或者用编码转换函数转换成你需要的页面编码
追问
在mysql终端输入 set names gb2312是吗 然后我的java程序应该怎么写呢 我用的jdbc 不知道java设置编码的API。
追答
我没写过java代码,就是说你的java程序在运行odbc连接成功能,先要执行一下mysql的query
执行代码为query($this -> dbLink, "SET NAMES gb2312");
然后再执行你的其他query("select * from xxx........")
展开全部
request.setCharacterEncoding("GB2312");
这是将所有的 HttpServletRequest request, 请求都转换成 gb2312 字符集。
这样要插入的数据 跟 数据库设定的字符集就是一致的。也避免了乱码的问题。
这是每一个action 里面 都得添加这个字符集转换。
还有一种方法是在 web.xml 配置文件配置字符集转换。这一块你可以在百度搜索
这是将所有的 HttpServletRequest request, 请求都转换成 gb2312 字符集。
这样要插入的数据 跟 数据库设定的字符集就是一致的。也避免了乱码的问题。
这是每一个action 里面 都得添加这个字符集转换。
还有一种方法是在 web.xml 配置文件配置字符集转换。这一块你可以在百度搜索
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询