プロジェクトでどの関数を呼び出しても、PHP のトランスコーディングの問題に遭遇しました。私が何度も検索したのは間違いだったのかもしれません。ついに、ついに、私はそれを見つけました:
iconv("UTF-8", "gb2312", $username);
これが私が遭遇した問題です:
セッションのユーザー名を使用して、config.php ページを取得して変数
$username=$_SESSION['user_name'];
$fromuser=$username;
に割り当てることができます。この値を別のページに渡してからデータベースに保存すると、config.php から newmessage.php ページ、
上記の書き方だと、newmessage.phpページに値を渡す際に値が文字化けしてしまいます。ちなみに、私のシステム全体はutf-8でエンコードされており、
config.phpはgb2312です(config.phpのエンコードを直接utf-8に変更した直後に文字化けが発生する理由はわかりません。とにかく
gb2312 または gbk) なので、config.php のユーザー名を gb2312 に直接変換する必要があります。最終的にこのクレイジーなコードを見つけるには、多大な労力がかかりました。
これ:
$fromuser=iconv("UTF-8","gb2312",$username);
Tencent の IP アドレス API インターフェイス アドレス: http://fw.qq.com/ipaddress
とは返されるデータ形式は次のとおりです: var IPData = new Array("114.218.183.139″,"","江蘇省","蘇州市");
JS コードを使用して取得:
ソース コードの印刷ヘルプを表示
type="text/javascript"
src="http://fw.qq.com /ipaddress ">
3 |
<script>document.write("你的IP是:"+IPData[0]+",来自:"+IPData[2]);</script> |
PHP 解析メソッドを使用する:
ソース コードの印刷ヘルプを表示
< td>02function03 | $ip=file_get_contents("http://fw.qq.com/ipaddress"); | getIpPlace(){ |
04 | $ip=str_replace('"',' ',$ip); |
04 | $ip=str_replace('"','',$ip); |
06 | $a=substr($ip2[1],0,-2); |
処理後の出力は配列です。 >Sina の IP アドレス クエリ インターフェイス: http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js
Sina のマルチリージョン テスト方法: http://int.dpool .sina. com.cn/iplookup/iplookup.php?format=js&ip=218.192.3.42
Sohu IP アドレス クエリ インターフェイス (デフォルト GBK): http://pv.sohu.com/cityjson
Sohu IP アドレス クエリ インターフェイス (エンコードを設定できます): http://pv.sohu.com/cityjson?ie=utf-8
Sohu の他の IP アドレス クエリ インターフェイス: http://txt.go.sohu.com/ip/soip
この記事へのリンク http://www.cxybl.com/html/wlbc/Php/20130113/36055.html