收藏本站 收藏本站
積木網首頁 - 軟件測試 - 常用手冊 - 站長工具 - 技術社區
首頁 > JavaScript > extjs > 正文

首頁 - PHP - 數據庫 - 操作系統 - 游戲開發 - JS - Android - MySql - Redis - MongoDB - Win8 - Shell編程 - DOS命令 - jQuery - CSS樣式 - Python - Perl

Access - Oracle - DB2 - SQLServer - MsSql2008 - MsSql2005 - Sqlite - PostgreSQL - node.js - extjs - JavaScript vbs - Powershell - Ruby

Extjs Ajax 亂碼問題解決方案

在一次頁面瀏覽過程中,客戶端對一個URL發起瀏覽請求,服務端針對這次請求進行解析,而在字符編碼解析方面,首先他檢查該頁面中的字符編碼設置,即<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />,這樣,在頁面中顯示聲明了字符編碼為UTF-8,服務器就會將該頁面用UTF-8的編碼輸出,而如果頁面中沒有顯示聲明,在服務器中都有一個默認的字符編碼,比如GB2312,針對沒有聲明的文件,他會用默認編碼輸出,這個時候,如果頁面輸出又是UTF-8,這樣就會出現亂碼。
  而在Ext中的提交數據的過程中,Ext框架用的是都是UTF-8編碼,而且通過JSON提交的數據也是UTF-8編碼,所以要求所有的文件都是UTF-8編碼。
解決亂碼的方法
以下幾項首先必須要在平時的編碼過程中做到:
  (1) JAVA后臺文件加入 response.setContentType("text/html");
response.setCharacterEncoding("utf-8");
  (2)在文件中顯示聲明字符編碼,<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  (3)對于提交中出現的亂碼,在Ext中可以修改Request Header中Content-Type的設置,具體的方法為:Ext.lib.Ajax.defaultPostHeader += ";charset=utf-8";
  最后,問題還可能出現在文件的保存格式上。就是你把代碼文件保存的時候,如果開發環境默認保存的不是UTF-8格式,那么也會出現問題! 所以就要對開發環境也有一個要求。
開發環境的配置
如果采用記事本來編寫保存代碼文件(.js),那這個就會出問題,主要是由于在windows系統里記事本默認的編碼格式是ANSI,這樣基本上和目前網頁中編碼的格式都不同因此就會出現編碼格式不正確的問題。解決辦法就是打開xx.js文件然后另存為,在保存類型處選擇utf-8編碼格式就可以了。
當然,主流還是使用MyEclipse,所以說一下MyEclipse里要配置哪些地方。
Preferences->General->Content Types 選中Text 編輯下面的Default encoding 為utf-8然后Update。
Preferences->General->Content Types->Editors->Text Editors->Spelling 下Encoding 選 Default(UTF-8)
Preferences->General->Content Types->Workspace下Text File Encoding 選 Other: UTF-8
最后如果還出現亂碼 , 利用
System.out.print(request.getCharacterEncoding());
System.out.print(response.getCharacterEncoding());
察看request 或 response 編碼是否不是utf-8
若不是,利用web.xml中的 filter 解決.

<filter>
<description>no</description>
<display-name>EncodingFilter</display-name>
<filter-name>EncodingFilter</filter-name>
<filter-class>
com.hope.filters.SetCharacterEncodingFilter
</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
</filter>
或者設置
<globalization responseEncoding="utf-8" fileEncoding="utf-8" requestEncoding="utf-8"/>
Good Luck!

ExtJS 2.0實用簡明教程 之Border區域布局
該布局把容器分成東南西北中五個區域,分別由east,south,west,north,cente來表示,在往容器中添加子元素的時候,我們只需要指定這些子元素所在的位置

ExtJS 2.0實用簡明教程 之Ext類庫簡介
ExtJS的類庫由以下幾部分組成:底層API(core):底層API中提供了對DOM操作、查詢的封裝、事件處理、DOM查詢器等基礎的功能。其它控件都是建立在這些底層

ExtJS 2.0實用簡明教程 之ExtJS版的Hello
htmlxmlns="http://www.w3.org/1999/xhtml"headmetahttp-equiv="Content-Type"content="text/html;charset=utf-8"/titleExtJS/titlelinkrel="stylesheet"type="text/css"href="extjs/resources/css/ext-all.css"/scr

本周排行

更新排行

強悍的草根IT技術社區,這里應該有您想要的! 友情鏈接:b2b電子商務
Copyright © 2010 Gimoo.Net. All Rights Rreserved  京ICP備05050695號
捕鱼大师辅助软件 点点盈配资 体彩河南11选5玩法 甘肃11选5一一定牛预测 加拿大快乐8网站 重庆幸运农场追号技巧 东莞股票配资 江苏11选5组3 学炒股要多久 云南时时彩3d走势图 理财通怎么提现 中国体育彩票中奖率 海南体彩飞鱼开奖直播网址 沈阳体彩11选5中奖规则 体育泳坛夺金河南 股票入门基础知识 广东十分彩开奖走势图