AJAXを使用してUTF 8符号表を実現し、GBK符号化スクリプトに文字化けのない解決方法を提出する。


1、フォーム項目1 GBKコードフォーマット
ユーザーの採集表は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, "<", "&lt;")
    NotXSS = replace(NotXSS, ">", "&gt;")
    NotXSS = replace(NotXSS, """", "&quote;")
  end function
   
  '      ,    MiaoQiYuanAutoConvertItem
  Response.Write NotXSS(Request(Request.QueryString("MiaoQiYuanAutoConvertItem")))
%>
以上、AJAXを使ってUTF 8符号表を実現し、GBK符号化スクリプトに文字化けのない解決方法を提出した記事について紹介しました。これに関連して、UTF 8符号表をより多く提出しました。GBKコードの内容を検索してください。または、下記の関連記事を引き続きご覧ください。