日期:2014-05-20  浏览次数:20910 次

MySQL数据库中文乱码问题?在线等!不是我平白无故给大家添乱,实在是搜了好多贴还是解决不了呀
我的数据库是MySql,在安装的时候设置的是utf-8,然后 JSP 页面也统一设置为utf-8
Java code
<%@page contentType="text/html;charset=UTF-8" language="java"%>


用浏览器运行时:页面中的文字是显示为中文,但是从数据库中读出来的中文就为乱码

另外:我在Dos中连接数据库查看纪录时(select * from product),看到的是中文,然后我用eclipse中的DB Browser看数据库里的纪录时为乱码,直接在修改纪录时,中文又为??????(在页面、Dos中也显示为??????)

注:我的eclipse 的Workspace设置的也为utf-8,Content Types也全部设置为utf-8,另外还有
Java code
public class EncodingProcessor extends RequestProcessor {  
 
 public void process(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
 
   request.setCharacterEncoding("UTF-8");
  response.setContentType("text/html;charset=UTF-8");
   super.process(request, response);
  }

}
这个自定义的RequestProcessor处理中文乱码问题

不知道该怎么设置才使数据库中读出来的不是乱码,还请高手指点。。。。。。。。。。。。

------解决方案--------------------
MySQL 数据库 JDBC 中文乱码问题
HTML code
url="jdbc:mysql://localhost:3306/yhcmusic?useUnicode=true&amp;characterEncoding=UTF-8"

------解决方案--------------------
写一个转码的程序.
 public static String deCode(String str) {
if (str == null) {
return "";
}
if (str.equals("") || str.equals(" ")) {
return "";
} else {
byte temp[];
try {
temp = str.getBytes("ISO-8859-1");
str = new String(temp, "GBK");
} catch (Exception e) {
System.err.println("convert error: " + e);
}
return str;
}
把从数据库中取出的中文字段都通过这个方法转一码.在显示看看.
------解决方案--------------------
是不是你用了什么过滤器了。 查一下!
------解决方案--------------------
换同事的中文操作系统看看。 远程连mysql
------解决方案--------------------
看看你的mqsql的字符集 可能是那里的问题。
------解决方案--------------------
看看数据库的字符集和页面的是否一致。
------解决方案--------------------
建议你先把MySQL的字符集改成GB2312或GBK然后在从控制台加条数据,看是否是中文的!try...
------解决方案--------------------
我记得在连接mysql的时候可以指定一个字符集的吧..页面的编码就用GBK或者gb2312哦