qtalen
qtalen
2010-12-20 11:05

extjs做ajax请求时如何设置编码为GBK?

已采纳

我使用extjs做项目。发现extjs在ajax时,请求的header默认为
Content-Type application/x-www-form-urlencoded; charset=UTF-8

但是我的后台java的编码是GBK的,不要让我改后台编码啊,遗留系统,没办法。

extjs的版本是3.3的,我试着Ext.lib.Ajax.defaultPostHeader += '; charset=gbk';是不行的,会改成默认的UTF-8

我试过在filter里request.setCharacterEncoding("UTF-8")是可以的,取parameter是没乱码了。但是存到GBK的数据库里面又成乱码了。

我在另外一个项目里,前台extjs是UTF-8,后台也是GBK的库。但是是没有乱码的,不知道他们是怎么做的。

所以想问一下各位extjs能让ajax时编码为GBK吗?

或者后台要怎么样设置一下才能让各处都没乱码?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答

  • ahopedog ahopedog 11年前

    Ext.lib.Ajax.defaultPostHeader += '; charset=gbk';

    这个是不是应该改成
    Ext.lib.Ajax.defaultPostHeader = 'application/x-www-form-urlencoded; charset=gbk'

    点赞 评论 复制链接分享
  • renpeng301 renpeng301 10年前

    Ext.lib.Ajax.defaultPostHeader += '; charset=gbk加在Ext.onReady块里
    然后后台
    response.setContentType("text/json; charset=gbk");

    点赞 评论 复制链接分享

相关推荐