この記事では、Ajax 送信パラメータ値が中国語の場合の IE ブラウザと FF ブラウザの違いを主に紹介し、分析例を組み合わせて、Ajax パラメータ送信プロセスにおけるパラメータのトランスコーディングに関する注意事項と使用スキルを説明します。ご参考までに
この記事の例は、Ajax に渡されたパラメータ値が中国語の場合の IE ブラウザと FF ブラウザの違いを示しています。参考までに共有します。詳細は次のとおりです。
以前「AJAX コールバック関数に基づく JavaScript のパラメータ受け渡し」を紹介しました。ここでは主に、AJAX が中国語のパラメータを渡す際の、ブラウザごとの文字化け処理方法を分析します。 。
Ajax が中国語でパラメータを渡すと文字化けが発生する:
1. データベース接続のエンコード形式は GB2312、latin1_swedish_ci
2.php ファイルのエンコード形式は UTF-8 であり、ブラウザではエンコードが次のように表示されます。 : UTF-8
3. 私のページは 2 つの方法で表示されます:
1) ページの読み込み時に自動的に読み込み、毎秒更新します
2) 拡張機能グループ名をクリックすると、拡張グループ 対応するメンバー カード情報
4. 最初のケース処理:
control.php ページで session:
を取得し、データベースの内容を読み取ります: line 53:$grouparr[] = iconv("GB2312","UTF-8",$g[0]); //数据库内容转换为 UTF-8,这样能正常显示页面上的中文
$_SESSION['dispatchgroup'] = iconv("UTF-8","GB2312",$grouparr[0]);//将转换的中文修改为 GB2312,用于在 dispatchinfo.php 文件中获得查询的条件值,获得GB2312编码的值。
if($_SESSION['dispatchgroup']){ $groupaddressinfo = function_listaddressesbygroup($_SESSION['dispatchgroup'],1,$value,0,$_SESSION['dispatchexten'],$_SESSION['dispatchgrouppage']); //2013-5-17$groupaddressinfo = "listaddressesbygrouptype|0|LocalExt|1|12|1,,,801,空闲,,|1,,,802,不在线,,|1,,,803,空闲,,|1,,,804,不在线,,|,,,805,不在线,,|,,,806,不在线,,|,,,807,不在线,,|,,,808,不在线,,|,,,809,不在线,,|,,,810,不在线,,|5,餐厅,,811,10.1.6.189;连接|6,,,812,user2;断开|"; }
$groupname = iconv("GB2312","UTF-8",$groupname);
解決策:
JS非同期投稿処理:checkval(); var ajax = InitAjax(); var url = "dispatchinfo2.php?"+arges; //2013-08-21 limx 中文编码问题 url = encodeURI(encodeURI(url)); ajax.open('GET',url,true);
$groupname = urldecode($groupname); $groupname = iconv("utf-8","GB2312",$groupname);
AJAXによって送信されるデータはUTF-8エンコードで送信されるため、サーバー側でエンコード変換を実行する必要があります(ここでの私のページはGB2312でエンコードされています。UTF-8が使用されている場合、この手順は必要ありません) )問題)なので、サーバー側でUTF-8をGB2312に変換しました
上記は皆さんのためにまとめたものです、将来皆さんのお役に立てれば幸いです。 関連記事:SSHオンラインモールをajaxでユーザー名非同期検証を完了
以上がAjaxパラメータ値が中国語の場合のIEブラウザとFFブラウザの違いの分析例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。