1. <i id="s6b2k"><small id="s6b2k"></small></i>
    <b id="s6b2k"><bdo id="s6b2k"></bdo></b>
  2. <wbr id="s6b2k"></wbr>

    使用AJAX實現UTF8編碼表單提交到GBK編碼腳本無亂碼的解決方法_應用技巧

    來源:腳本之家  責任編輯:小易  

    能否詳細2113一點,提交表單,傳的中文參數嗎?如果是的話5261那是后臺4102獲取的這個參數亂碼了?如果是的話那你1653試試這個 String name = new String(name.getByte("iso-8859-1"),"GBK");中文在傳輸過程中是按照iso-8859-1的格式傳輸的; 再看看你的項目中的編碼格式是不是GBK亂碼問題描述的太不清楚了,最好貼出代碼追問這個 String name = new String(name.getByte("iso-8859-1"),"GBK"); 是放在哪里呢??我的文件是html+JS+PHP的,就是表單在html,通過JS的$.ajax的url到PHP,php把接收到的內容提交到SQLwww.yu113.com防采集請勿采集本網。

    1、表單項目1 GBK編碼格式

    這個得看你的提交方式,你form表單的提交方式和你ajax的提交方式是否一致,不一致的話你后臺是否進行了亂碼的處理?當提交的數據有中文的時候就會出現亂碼,post提交可以用編碼過濾器來解決,也可以用request.setCharacterEncoding("utf-8"); ge

    用戶采集單是GBK編碼,通過GET/POST提交上來的數據也是GBK格式,無需做任何處理

    request內部解析器使用Unicode,要想解決亂碼,修改request的解析器編碼就行了,在servlet中加 request.setCharacterEncoding("utf-8");

    測試源碼

    我用攔截器解決了這個問題 web.xml里面的配置 SubmitFilter common.SubmitFilter SubmitFilter /* 攔截器文件里面的代碼: package common; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import

    <!DOCTYPE html><html lang="zh-CN"><head><meta charset="GB2312"></head><body><li><a href="gbkForm.html" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >GBK同編碼表單不亂碼</a><li><a href="utf8Form.html" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >UTF8表單修改前亂碼</a><li><a href="utf8FormRepair.html" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >UTF8表單修改為AJAX方案后不亂碼</a><li><a href="otherForm.html" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >其他GBK同編碼表單不亂碼</a><li><a rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >測試程序說明</a></a><hr /><h2>GET:</h2><form action="gbkSubmit.asp" method="GET" >QQ:<input name="qq" value="QQ" /><br />姓名:<input name="name" value="姓名"/><br />地址:<input name="address" value="地址地址地址"/><br /><button type="submit">GBK表單提交到GBK腳本后不會亂碼</button></form><h2>POST:</h2><form action="gbkSubmit.asp" method="POST" >QQ:<input name="qq" value="QQ" /><br />姓名:<input name="name" value="姓名"/><br />地址:<input name="address" value="地址地址地址"/><br /><button type="submit">GBK表單提交到GBK腳本后不會亂碼</button></form></body></html>

    編碼問題:如果單純是頁面出現亂碼,將頁面文件的編碼樣式統一設置成UTF-8(gbk),新建html文件時,編碼是ANSI,只需要通過記事本將編碼設置為UTF-8(gbk),這樣可以避免許多亂碼問題,如:js放在項目中的亂碼等。再將頁面的編碼也設置成對應的

    2、表單項目2 UTF8編碼格式(可以在不同的域名下)

    ajax提交之前 以JQuery為例 var options = { target: '', // target element(s) to be updated with server response // url:url, beforeSubmit: showRequest, // pre-submit callback success: showResponse // post-submit callback }; 有個 b

    用戶采集單是UTF8編碼,通過GET/POST提交上來的數據也是UTF8格式,用表單項目1中的程序接收到的是亂碼

    測試代碼(修改前,提交亂碼):

    <!DOCTYPE html><html lang="zh-CN"><head><meta charset="UTF8"></head><body><li><a href="gbkForm.html" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >GBK同編碼表單不亂碼</a><li><a href="utf8Form.html" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >UTF8表單修改前亂碼</a><li><a href="utf8FormRepair.html" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >UTF8表單修改為AJAX方案后不亂碼</a><li><a href="otherForm.html" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >其他GBK同編碼表單不亂碼</a><li><a rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >測試程序說明</a></a><hr /><h2>GET:</h2><form action="gbkSubmit.asp" method="GET" >QQ:<input name="qq" value="QQ" /><br />姓名:<input name="name" value="姓名"/><br />地址:<input name="address" value="地址地址地址"/><br /><button type="submit">UTF8表單提交到GBK腳本后會亂碼</button></form><h2>POST:</h2><form action="gbkSubmit.asp" method="POST" >QQ:<input name="qq" value="QQ" /><br />姓名:<input name="name" value="姓名"/><br />地址:<input name="address" value="地址地址地址"/><br /><button type="submit">UTF8表單提交到GBK腳本后會亂碼</button></form></body></html>

    不需要改變頁面編碼,只需要修改表單Action地址,增加name=”ConvertCallBack” value=”ProjectA/FormGBK”、name=”ConvertItems” value=”name,qq,bb” 的兩個 input即可,不用對頁面進行其他調整

    編碼設置,轉換器自動操作。

    <form action="convert/utf8.asp"...<input name="ConvertCallBack" value="ProjectA/FormGBK"><input name="ConvertItems" value="name,qq,address"/><!-- 根據表單實際情況,修改表單項目 -->

    測試代碼(修改后)

    <!DOCTYPE html><html lang="zh-CN"><head><meta charset="UTF8"></head><body><li><a href="gbkForm.html" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >GBK同編碼表單不亂碼</a><li><a href="utf8Form.html" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >UTF8表單修改前亂碼</a><li><a href="utf8FormRepair.html" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >UTF8表單修改為AJAX方案后不亂碼</a><li><a href="otherForm.html" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >其他GBK同編碼表單不亂碼</a><li><a rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >測試程序說明</a></a><hr /><h2>GET:</h2><form action="convert/utf8.asp" method="GET" >QQ:<input name="qq" value="QQ" /><br />姓名:<input name="name" value="姓名"/><br />地址:<input name="address" value="地址地址地址"/><br /><input name="ConvertCallBack" value="../gbkSubmit.asp" /><input name="ConvertItems" value="name,qq,address" /><button type="submit">AJAX轉碼方案</button></form><h2>POST:</h2><form action="convert/utf8.asp" method="POST" >QQ:<input name="qq" value="QQ" /><br />姓名:<input name="name" value="姓名"/><br />地址:<input name="address" value="地址地址地址"/><br /><input name="ConvertCallBack" value="../gbkSubmit.asp" /><input name="ConvertItems" value="name,qq,address" /><button type="submit">AJAX轉碼方案</button></form></body></html>

    3、表單項目3 GBK編碼格式(可以在不同的域名下)

    沒有任何影響,只要按照表單1的標準編寫 參數即可

    測試代碼:

    <!DOCTYPE html><html lang="zh-CN"><head><meta charset="GB2312"></head><body><li><a href="gbkForm.html" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >GBK同編碼表單不亂碼</a><li><a href="utf8Form.html" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >UTF8表單修改前亂碼</a><li><a href="utf8FormRepair.html" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >UTF8表單修改為AJAX方案后不亂碼</a><li><a href="otherForm.html" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >其他GBK同編碼表單不亂碼</a><li><a rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >測試程序說明</a></a><hr /><h2>GET:</h2><form action="gbkSubmit.asp" method="GET" >QQ:<input name="qq" value="QQ" /><br />姓名:<input name="name" value="姓名"/><br />地址:<input name="address" value="地址地址地址"/><br />Other1:<input name="other1" value="Other1"/><br />Other2:<input name="other2" value="Other2"/><br />Other3:<input name="other3" value="Other3"/><br />Other4:<input name="other4" value="Other4"/><br />Other5:<input name="other5" value="Other5"/><br />Other6:<input name="other6" value="Other6"/><br />Other7:<input name="other7" value="Other7"/><br />Other8:<input name="other8" value="Other8"/><br />Other9:<input name="other9" value="Other9"/><br /><button type="submit">GBK表單提交到GBK腳本后不會亂碼</button></form><h2>POST:</h2><form action="gbkSubmit.asp" method="POST" >QQ:<input name="qq" value="QQ" /><br />姓名:<input name="name" value="姓名"/><br />地址:<input name="address" value="地址地址地址"/><br />Other1:<input name="other1" value="Other1"/><br />Other2:<input name="other2" value="Other2"/><br />Other3:<input name="other3" value="Other3"/><br />Other4:<input name="other4" value="Other4"/><br />Other5:<input name="other5" value="Other5"/><br />Other6:<input name="other6" value="Other6"/><br />Other7:<input name="other7" value="Other7"/><br />Other8:<input name="other8" value="Other8"/><br />Other9:<input name="other9" value="Other9"/><br /><button type="submit">GBK表單提交到GBK腳本后不會亂碼</button></form></body></html>

    全部測試包下載地址 anycharset_jb51.rar

    utf8.asp

    <% @codepage=936 %><% CallBack = Server.Htmlencode(Request("ConvertCallBack")) Items = Split(Request("ConvertItems"),",") if len(request.form) > 0 then method = "POST" else method = "GET" end if%><!DOCTYPE html><html lang="zh-CN"><head><meta charset="GB2312"><script src="http://www.miaoqiyuan.cn/wp-includes/js/jquery/jquery.js"></script></head><body><form action="<%=CallBack%>" method="<%=method%>" id="AutoPOST"><% for each Item in Items if trim(Item) <> "" then Item = Server.Htmlencode(Item)%><% = Item %> : <textarea name="<% = Item %>" id="<% = Item %>"></textarea><br /><script>jQuery.post("utf8_convert.asp?MiaoQiYuanAutoConvertItem=<%=Item%>&<%=Request.QueryString%>","<%=Request.Form%>",function(res){ jQuery("#<% = Item %>").val(res);});</script><% end if next%><button type="submit">Waiting...</button><script type="text/javascript">setTimeout(function(){ jQuery("#AutoPOST").submit();},200);</script></body></html>

    utf8_convert.asp

    <% @codepage=65001 %><% function NotXSS(html) NotXSS = html NotXSS = replace(NotXSS, "<", "&lt;") NotXSS = replace(NotXSS, ">", "&gt;") NotXSS = replace(NotXSS, """", "&quote;") end function '防止參數沖突,使用了 MiaoQiYuanAutoConvertItem Response.Write NotXSS(Request(Request.QueryString("MiaoQiYuanAutoConvertItem")))%>

    到此這篇關于使用AJAX實現UTF8編碼表單提交到GBK編碼腳本無亂碼的解決方法的文章就介紹到這了,更多相關UTF8編碼表單提交到GBK編碼內容請搜索真格學網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持真格學網!

    <system.web><globalization requestEncoding="gb2312" responseEncoding="gb2312" fileEncoding="gb2312"/> </system.web>web.config配置5261試41021653試,這個2113問題多簡單的。data="UserName=" +escape(document.getElementById("UserName").value)+"&PassWord="+escape(document.getElementById("PassWord").value)+"&RealName="+escape(document.getElementById("RealName").value);用escape個就可以了啊。5261我今天做的4102,asp程序就是1653用的這個,有url轉碼內容來自www.yu113.com請勿采集。


  3. 本文相關:
  4. 在線掃描探測檢查asp站點木馬后門的程序
  5. dbtree 1.3.2
  6. asp操作access提示無法從指定的數據表中刪除原因分析及解決
  7. 一個非常簡單的將半角轉換為中文的函數
  8. asp中提示至少一個參數沒有被指定值 解決方法
  9. asp 去除最后一個逗號為空字符串的代碼
  10. asp實現限制搜索的關鍵字的函數
  11. javascript在asp頁面中實現掩碼文本框效果代碼
  12. chat.asp聊天程序的編寫方法
  13. asp怎么獲取毫秒數實現代碼
  14. ajax異步提交表單,得到的中文是亂碼,
  15. 頁面是GBK的,用$.ajax去提交表單,中文顯示亂碼,...
  16. 為什么Form表單提交不是亂碼,而ajax提交會是亂碼
  17. 為什么表單提交數據庫沒有亂碼而ajax提交確實亂碼啊
  18. 為什么Form表單提交不是亂碼,而ajax提交會是亂碼
  19. jquery easyui form 提交時,輸入的中文到后臺變成...
  20. ext 表單提交或ajax請求返回的信息中文亂碼,后臺r...
  21. 如何解決jquery提交表單序列化亂碼問題
  22. 用的ajax提交的表單,js base64編碼怎么用
  23. 項目部署到WEbSphere服務器上 ajax提交返回的數據...
  24. 網站首頁網頁制作腳本下載服務器操作系統網站運營平面設計媒體動畫電腦基礎硬件教程網絡安全asp基礎應用技巧數據庫相關asp class類存儲過程小偷/采集木馬相關fso專題首頁asp編程在線掃描探測檢查asp站點木馬后門的程序dbtree 1.3.2asp操作access提示無法從指定的數據表中刪除原因分析及解決一個非常簡單的將半角轉換為中文的函數asp中提示至少一個參數沒有被指定值 解決方法asp 去除最后一個逗號為空字符串的代碼asp實現限制搜索的關鍵字的函數javascript在asp頁面中實現掩碼文本框效果代碼chat.asp聊天程序的編寫方法asp怎么獲取毫秒數實現代碼推薦4款傻瓜型的asp服務器軟件(關于“未指定的錯誤”的問題 的比錯誤類型:provider (0x80004005c#入門教程之listbox控件使用方法utf-8 網頁不顯示+utf-8網頁亂碼asp 日期格式化問題microsoft jet database engine(asp中設置session過期時間方法總sql查詢語句通配符與access模糊查asp獲取url參數的幾種方法分析總asp javascript值的互相傳遞方法asp 性能測試報告 學習asp朋友需要了解的asp中實現定時發送郵件的代碼分享asp運行出錯:缺少對象: ""xmldoc.docume網站開發防止中文亂碼需要了解的codepageasp access實現網站計數器(訪問量)非常不錯的列出sql服務器上所有數據庫的aasp 讀取通過表單發送的post數據[教程+分享]具有良好體驗度的web注冊系統asp頁面提高的訪問速度的方法詳解
    免責聲明 - 關于我們 - 聯系我們 - 廣告聯系 - 友情鏈接 - 幫助中心 - 頻道導航
    Copyright © 2017 www.yu113.com All Rights Reserved
    战天txt全集下载