ホームページ > バックエンド開発 > PHPチュートリアル > phpのクエリ選択時、文字エンコード処理、

phpのクエリ選択時、文字エンコード処理、

WBOY
リリース: 2016-06-23 14:38:24
オリジナル
973 人が閲覧しました

require("db.php");
$sql="SELECT `cityid` FROM `weathercityid` where `city`='広東'";
$result=mysql_query($sql); ($result);
$a_city=mysql_fetch_array($result);
print_r($a_city)
?>
出力結果は
Guangdong
resource(5, mysql result)
を数値に置き換えるとキャラクターなら成功するかも知れませんが、どうなっているでしょうか?

ディスカッションへの返信 (解決策)

プログラムのエンコーディングは何ですか?

都市フィールドのエンコーディングは何ですか?


以下はいくつかの考えられる状況です
1. プログラムは gbk で、都市は utf8 です。mysql_query(/set names gbk'); をクエリする必要があります。
2. プログラムは utf-8 で、都市は gbk です。 mysql_query(/set names utf8'); をクエリする前にクエリを実行する必要があります
3. 最悪のシナリオ: city にはエンコーディング セットがなく、プログラムは utf-8 です
現時点では、
$w = iconv(' utf-8', 'latin1' , 'Guangdong');
$sql="SELECT `cityid` FROM `weathercityid` where `city`='$w'";

取得したデータはデコードする必要があります

実行しました出力できませんでしたか?

投稿者の質問は非常に深いです。

mysql でクエリを実行する場合は、ファイルを utf-8 として保存し、mysql_query('set names utf8'); を設定します。

mysql はエンコーディングを認識できないため、見つかりません

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート