ホームページ  >  記事  >  php教程  >  PHP 文字変換: PHP 文字変換 ​​utf-8 から gb2312

PHP 文字変換: PHP 文字変換 ​​utf-8 から gb2312

WBOY
WBOYオリジナル
2016-06-21 08:50:21988ブラウズ

プロジェクトでどの関数を呼び出しても、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 コードを使用して取得:
ソース コードの印刷ヘルプを表示
1
type="text/javascript"
2
src="http://fw.qq.com /ipaddress ">
3 <script>document.write("你的IP是:"+IPData[0]+",来自:"+IPData[2]);</script>

PHP 解析メソッドを使用する:
01
ソース コードの印刷ヘルプを表示
02function
getIpPlace(){
< td>02
function
03$ip=file_get_contents("http://fw.qq.com/ipaddress");
getIpPlace(){
04$ip=str_replace('"','
',$ip);
04 $ip=str_replace('"','
05$ip2=explode("(",$ip);
',$ip);
06$a=substr($ip2[1],0,-2);
07$b=explode(",",$a);
08return
$b;
08 return
09}
$b;
10$ip=getIpPlace();
11print_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
この記事へのリンク http://www.cxybl.com/html/wlbc/Php/20130113/36055.html



声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。