プロジェクトでどの関数を呼び出しても、PHP のトランスコーディングの問題に遭遇しました。私がインターネットで何度も検索したのは間違いだったのかもしれません。ついに、ついに、もう見つけました:
iconv("UTF-8","gb2312",$ユーザー名);
これです、私が遭遇した問題はこれです:
セッションのユーザー名を使用したいのですが、config.php ページでそれを取得して変数に割り当てることができます
$username=$_SESSION['user_name'];
$fromuser=$ユーザー名;
次に、この値を別のページに転送してデータベースに保存する必要があります。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",$ユーザー名);
================================================= =============
Tencent の IP アドレス API インターフェース アドレス: http://fw.qq.com/ipaddress
返されるデータ形式は次のとおりです: var IPData = new Array("114.218.183.139″,"","江蘇省","蘇州市");
JS コードを使用して呼び出します:
ソースコードの印刷ヘルプを表示する
1
2
3 <script>document.write("あなたの IP は: "+IPData[0]+", from: "+IPData[2]);</script>
PHPを使用した解析方法:
ソースコードの印刷ヘルプを表示する
01 02 関数 getIpPlace(){
03 $ip=file_get_contents("http://fw.qq.com/ipaddress");
04 $ip=str_replace('"',' ',$ip);
05 $ip2=explode("(",$ip);
06 $a=substr($ip2[1],0,-2);
07 $b=explode(",",$a);
08 $bを返します;
09 }
10 $ip=getIpPlace();
11 print_r($ip);
12?>
処理後の出力は配列です。
もう一つ:
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
Hurryさんのコラムより抜粋