jsp添加数据至mysql中,书面方法是在连接数据库字符串加上&useUnicode=true&characterEncoding=gb2312内容,例如一个连接mysql的字符串:
String dsn = "jdbc:mysql://localhost:3306/test_db?user=root&password=sa&useUnicode=true&characterEncoding=gb2312"
但这种方法并不是通用的,某些情况下添加数据仍然为乱码。
下面说下解决乱码的一个方法:
1。添加数据,把页面的编码格式设置为iso-8859-1,如下,
在Servlet里:
req.setCharacterEncoding("iso-8859-1");
在页面里:
request.setCharacterEncoding("iso-8859-1");
同时连接mysql字符串不能带&useUnicode=true&characterEncoding=gb2312这些内容
2。读取内容
读取内容时中文仍然要加入iso-8859-1编码,例如:
<%= new String(rs.getString("content").getBytes("iso-8859-1")) %>
这样添加数据和读取数据时中文均可正常显示