jsp插入mysql数据库后乱码的解决办法
jsp 页面用下面3句语句来保证是gbk 编码
<%@ page session= "true " %>
<%@ page contentType= "text/html;charset=gbk " %>
<%@page pageEncoding= "gbk "%>
<%request.setCharacterEncoding( "gbk ");%>
数据库连接用如下语句
String sConnStr = "jdbc:mysql://localhost:3306/test? user=michael&password=123456&useUnicode=true&characterEncoding=gbk ";
并且在mysql的my.ini的内容如下
basedir=D:/mysql
#bind-address=127.0.0.1
datadir=D:/mysql-data/data
default_character_set=gbk
#language=D:/mysql/share/your language directory
#slow query log#=
#tmpdir#=
#port=3306
#set-variable=key_buffer=16M
[WinMySQLadmin]
Server=D:/mysql/bin/mysqld-nt.exe
user=michael
password=123
[client]
default_character_set=gbk
读jsp页面之间传递的参数在页面显示正常
在dos命令行下插入数据后,显示也正常
其中一条插入语句如下:
<jsp:useBean id= "reg " scope= "page " class= "test.chatreg " />
String strSQL= "insert into chatreg(username , password , email ,homepage )
values( ' " + regName + " ', ' " + regPassword + " ' , ' " + regEmail + " ' , ' " + regHomepage + " ') ";
reg.executeQuery(strSQL);
转http://www.knowsky.com/
[解决办法]
我所有文件全设定为UTF-8就没出现过中文问题了
不过也谢谢楼主的资料
[解决办法]
LZ散分的?
[解决办法]
来接分
[解决办法]
你插之前转为ISO-88591编码试试
[解决办法]
学习学习
[解决办法]
为保证插入数据库和读取数据库显示的都是中文
保存的时候new String(str.getBytes( "iso-8859-1 "), "gbk ");
读取的时候new String(str.getBytes( "gbk "), "iso-8859-1 ");
[解决办法]
是GBK而不是gbk
[解决办法]
mysql字符集问题,在配置mysql服务器时设置字符集为jbk。
[解决办法]
将接收到的数据一个一个的转码是不可行的。如果数据量够大的话你怎么办?
最好的办法是编码统一。再写一个过滤器
public class MyActionServlet extends ActionServlet {
@Override
protected void process(HttpServletRequest arg0, HttpServletResponse arg1)
throws IOException, ServletException {
// 转换编码为GBK
arg0.setCharacterEncoding( "GBK ");
}
}
然后在web.xml里面配置一下
<servlet>
<servlet-name> action </servlet-name>
<servlet-class> com.util.MyActionServlet </servlet-class>
</servlet> 这里我的servlet在com.util包里,你得根据你自己的具体包
[解决办法]
我就是用楼上的方法搞的
[解决办法]
是GBK而不是gbk
================
有差别吗,晕,我还一直这样用的.
若有差别,请说明下
--------------------------------------
没有区别, 至少我没发现有什么区别...