ext4表单提交中文乱码问题,如何解决?

网络科技 2011-07-24 05:27:53
网上找了一些资料,都没试验成功,比如都用统一编码utf-8,我也照料着做了,依然无效。
还有个ext2.0的解决方法,是这样说的:

打开ext-base.js文件,
找到"application/x-www-form-urlencoded",
改成:
"application/x-www-form-urlencoded; charset=UTF-8"

但ext4.0好像不适用。

后来,我用了编码转换的方式,解决了参数中文乱码问题,但表单中的中文内容,却不知道如何解决,有经验或有好的办法的高人,希望指点一二,谢谢。
下面是我找api中的一段代码:

Ext.create('Ext.form.Panel', {
title: 'Simple Form',
bodyPadding: 5,
width: 350,

// The form will submit an AJAX request to this URL when submitted
url: 'save-form.php',

// Fields will be arranged vertically, stretched to full width
layout: 'anchor',
defaults: {
anchor: '100%'
},

// The fields
defaultType: 'textfield',
items: [{
fieldLabel: 'First Name',
name: 'first',
allowBlank: false
},{
fieldLabel: 'Last Name',
name: 'last',
allowBlank: false
}],

// Reset and Submit buttons
buttons: [{
text: 'Reset',
handler: function() {
this.up('form').getForm().reset();
}
}, {
text: 'Submit',
formBind: true, //only enabled once the form is valid
disabled: true,
handler: function() {
var form = this.up('form').getForm();
if (form.isValid()) {
form.submit({
method: "post",
params: {name: encodeURIComponent("中文")},//这里的name参数中文乱码好解决
success: function(form, action) {
Ext.Msg.alert('Success', action.result.msg);
},
failure: function(form, action) {
Ext.Msg.alert('Failed', action.result.msg);
}
});
}
}
}],
renderTo: Ext.getBody()
});

如果带参数的,用编码再转码就能解决,但字段first和last输入中文时,怎么转码呢?一时比较困惑
...全文
468 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
豆虫 2011-07-24
  • 打赏
  • 举报
回复
params: {name: encodeURIComponent("中文")},//这里的name参数中文乱码好解决

last和first同样也可以这样处理啊 前后台的编码一致就行
网络科技 2011-07-24
  • 打赏
  • 举报
回复
还是用编码转换解决了
网络科技 2011-07-24
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 fanchuanzhidu 的回复:]

params: {name: encodeURIComponent("中文")},//这里的name参数中文乱码好解决

last和first同样也可以这样处理啊 前后台的编码一致就行
[/Quote]
问题是,一个表单,就这两个参数吗?如果有二三十个参数,那这样不是要写好长的了?显然,这个方法不是很好

87,989

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧