from提交的数据到后台是乱码

请高手帮忙,在火狐浏览器插入中文没有问题,在遨游或IE就出现乱码,应该怎么解决,我
google了半天没找到
这是ext:
//----- new a simple sendMsgPanel --------------------创建一个发送消息的面板---------------
var sendMsgPanel= new Ext.form.FormPanel({
id:'1101-panel',
title:'发送新消息',
labelWidth:200,
frame:true,
// autoHeight:true,
buttonAlign:'center',
items:[{
xtype:'textfield',
fieldLabel:'<a href="#" onclick="javascript:recivers();">接收人</a>',
id:'reciver',
allowBlank:false,
width:500
},{
xtype:'textfield',
fieldLabel:'标题',
id:'caption',
allowBlank:false,
width:500
},{
xtype:'textfield',
fieldLabel:'内容',
id:'msg',
allowBlank:false,
width:500,
height:400
}],
buttons:[
{
text:'发送',
handler:function(){
var f = sendMsgPanel.getForm();
if(f.isValid()){
f.submit({
url:'manager.do?command=sendPersonMsg',

success:function(form,action){
if(false==action.result.checkRec){
Ext.Msg.alert('消息', "对不起,此用户不存在,请输入正确的用户!");
return;
}
if(true==action.result.insertMsgOK){
Ext.Msg.alert('消息', "发送消息成功");
Ext.getCmp('content-panel').layout.setActiveItem('1102-panel');
recPersonStore.reload();
}else{
Ext.Msg.alert('消息', "插入数据失败");
}
},failure:function(){
Ext.Msg.alert('消息', "服务器没有连接!!");
}
});
}
}
},{
text:'取消',
handler:function(){
sendMsgPanel.getForm().reset();
}
}
]

});


这是后台:
}else if("sendPersonMsg".equals(command)){
JSONObject json= new JSONObject();
boolean check=false;
String title=null;
String msg = null;

title = (String)request.getParameter("caption");
msg = (String)request.getParameter("msg");


String editor = (String)request.getSession().getAttribute("who");
String reciver = (String)request.getParameter("reciver");
String[] name =new test3().splitName(reciver);
try {
for(int i=0;i<name.length;i++){
if(name.length==1){
boolean checkRec = new ProcessDAO().checkRec(name[0]); //检查用户是否存在
if(false==checkRec){
json.put("checkRec", false);
json.put("success", true);
out.println(json);
return null;
}
}
check = new ProcessDAO().sendPersonMsg(title,msg,editor,name[i]);
}

json.put("insertMsgOK",check);
json.put("success",true);
out.print(json);
} catch (JSONException e) {
e.printStackTrace();
}
您提到的“后台数据管理系统Java”与提供的知识库中的文档内容有一定的关联。根据您的需求,我将针对“用户及角色管理阶段作业1”的要求进行总结,并结合Java开发的相关要点: ### 阶段作业1要求总结 **作业内容:** - **完善用户角色管理项目**:实现以下功能: - 按名称查询角色 - 更新用户信息 - 更新角色信息 **具体要求:** 1. **独立完成**:严禁互相抄袭,但允许使用AI工具辅助编码。 2. **提交方式**:提交源代码项目的压缩版(zip格式)给课代表。 - 压缩文件命名规则:姓名全拼(例如:fanghong.zip) 3. **截止时间**:2024年11月16日晚9点前 **常见问题:** 1. 查询后,左侧菜单锁定问题 2. 更新时,汉字乱码问题 3. 更新时,更新页面没有原数据显示 4. 用户更新时,角色信息更新未能实现或出现异常 ### Java开发要点 为了帮助您更好地完成这个作业,以下是几个关键的Java开发要点: 1. **数据库连接**: - 使用JDBC(Java Database Connectivity)连接数据库。 - 示例代码: ```java Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/yourdb", "username", "password"); ``` 2. **查询角色按名**: - 使用SQL查询语句从数据库中获取角色信息。 - 示例代码: ```java String query = "SELECT * FROM roles WHERE name = ?"; PreparedStatement pstmt = conn.prepareStatement(query); pstmt.setString(1, roleName); ResultSet rs = pstmt.executeQuery(); ``` 3. **更新用户和角色信息**: - 使用SQL更新语句修改数据库中的记录。 - 示例代码: ```java String updateQuery = "UPDATE users SET username = ?, email = ? WHERE id = ?"; PreparedStatement pstmt = conn.prepareStatement(updateQuery); pstmt.setString(1, newUsername); pstmt.setString(2, newEmail); pstmt.setInt(3, userId); int rowsUpdated = pstmt.executeUpdate(); ``` 4. **处理汉字乱码问题**: - 在连接数据库时设置字符集为UTF-8。 - 示例代码: ```java Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/yourdb?useUnicode=true&characterEncoding=UTF-8", "username", "password"); ``` 5. **显示原有数据**: - 在更新页面加载时,先从数据库中查询并显示原有数据。 - 示例代码: ```java String selectQuery = "SELECT * FROM users WHERE id = ?"; PreparedStatement pstmt = conn.prepareStatement(selectQuery); pstmt.setInt(1, userId); ResultSet rs = pstmt.executeQuery(); while (rs.next()) { // 显示原有数据 } ``` 6. **更新角色信息**: - 确保在更新用户信息的同时,正确更新其角色信息。 - 示例代码: ```java String updateRoleQuery = "UPDATE user_roles SET role_id = ? WHERE user_id = ?"; PreparedStatement pstmt = conn.prepareStatement(updateRoleQuery); pstmt.setInt(1, roleId); pstmt.setInt(2, userId); int rowsUpdated = pstmt.executeUpdate(); ``` 希望这些信息对您完成作业有所帮助!如果有任何其他问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值