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 はエンコーディングを認識できないため、見つかりません