AJAXを使用してUTF 8符号表を実現し、GBK符号化スクリプトに文字化けのない解決方法を提出する。
1、フォーム項目1 GBKコードフォーマット
ユーザーの採集表はGBKコードで、GET/POSTを通じて提出されたデータもGBK形式です。何の処理も必要ありません。
テストソース
ユーザ取得票はUTF 8符号化であり、GET/POSTによって提出されたデータもUTF 8フォーマットであり、フォーム項目1のプログラムで受信したのは文字化けである。
テストコード(修正前に文字化けを提出):
コード設定、変換器自動操作。
影響はありません。フォーム1の基準に従ってパラメータを作成すればいいです。
テストコード:
utf 8.asp
ユーザーの採集表はGBKコードで、GET/POSTを通じて提出されたデータもGBK形式です。何の処理も必要ありません。
テストソース
<!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 href="http://www.miaoqiyuan.cn/p/utf8-submit-gbk-ajax-autocharset" 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>
2、フォーム項目2 UTF 8符号化フォーマット(異なるドメイン名でも可)ユーザ取得票はUTF 8符号化であり、GET/POSTによって提出されたデータもUTF 8フォーマットであり、フォーム項目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 href="http://www.miaoqiyuan.cn/p/utf8-submit-gbk-ajax-autocharset" 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>
ページコードを変更する必要はなく、フォームアクションのアドレスを変更し、name="CovertCallBack"value="Project A/FormGBK"、"name="CovertItems"value="name、qq、bb"の2つの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 href="http://www.miaoqiyuan.cn/p/utf8-submit-gbk-ajax-autocharset" 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 href="http://www.miaoqiyuan.cn/p/utf8-submit-gbk-ajax-autocharset" 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_jb 51.rarをダウンロードします。utf 8.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>
utf 8_convert.asp
<% @codepage=65001 %>
<%
function NotXSS(html)
NotXSS = html
NotXSS = replace(NotXSS, "<", "<")
NotXSS = replace(NotXSS, ">", ">")
NotXSS = replace(NotXSS, """", ""e;")
end function
' , MiaoQiYuanAutoConvertItem
Response.Write NotXSS(Request(Request.QueryString("MiaoQiYuanAutoConvertItem")))
%>
以上、AJAXを使ってUTF 8符号表を実現し、GBK符号化スクリプトに文字化けのない解決方法を提出した記事について紹介しました。これに関連して、UTF 8符号表をより多く提出しました。GBKコードの内容を検索してください。または、下記の関連記事を引き続きご覧ください。