背景说明:
jsp作为前台显示层, structs2 Action的采用模型驱动封装表单数据,hibernate完成数据库底层操作,mysql存储数据,实际应用中存在以下问题:
碰到问题:
表user的自我介绍字段myself---varchar(200) 将 regist.jsp页面的 <s:textarea name="user.myself" label="备注" cols="50" rows="5" />
中的文字保存至mysql时转换成了ASCII码 ! 不知道问题在哪?
private User user;public SetUser(User user){
this.user=user;
}
public User GetUser(){
return this.user;
}
<%@ page language="java" import="java.util.*" pageEncoding="gbk"%><%@taglib prefix="s" uri="/struts-tags"%>
<%@taglib prefix="sx" uri="/struts-dojo-tags"%><head>
<title>用户注册</title><s:head theme="xhtml"/>
<sx:head parseContent="true"/></head>
<Body>
<Center><s:actionerror/>
<s:form action="useradd" method="post" validate="true" >
<s:textfield name="user.name" label="用户名" />
<s:textfield name="user.psw" label="密码" /><sx:datetimepicker name="lan.stardate" value="%{date}" displayFormat="yyyy-MM-dd" label="生日" />
<s:textfield name="user.myself" label="自我介绍" />
<sx:submit value="添加" align="center" validate="true" />
</Center>
</Body>
你这代码写得有问题啊
[color=red]
<s:textfield name="user.myself" label="自我介绍" />
[color=red]
你用s:form 怎么又用sx:submit,应该是s:submit
中的文字保存至mysql时转换成了ASCII码
八成是你的mysql的编码从来没设置过,就是默认的iso-8859-1,
把mysql的编码设置成和你请求的编码,比较jsp页面的编码
这个应该不是编码问题,如里是,那么记录要么插入不进去,要么是乱码.
在Action中打印一下,看是什么样的数据格式.