国名と通貨記号を格納する mysql データベース テーブルがあります。CHARSET は正しく UTF8 に設定されています。
これはテーブルに挿入されたデータの例です
国 (country_name、currency_name、currency_code、currency_symbol) の値に挿入します。 ('UK','ポンド','GBP','£');
データベースを見ると、ポンド記号は問題ないように見えますが、データベースから取得してウェブサイトに表示すると、ポンド記号の代わりに疑問符が入った奇妙な四角形の記号が表示されます。
my.cnfで編集-文字セットはlatin1に設定されていました-utf8に変更しました-次に、ルートとしてログインして\ sを実行しました-返されました
サーバー文字セット: utf8 クライアント文字セット: utf8
照合
-- データベース SELECT default_collation_name FROM information_schema.schema WHERE schema_name = 'swipe_prod'; これは何も返さない - テーブル SELECT table_collation FROM information_schema.tables WHERE TABLE_NAME = '国'; これは utf8_general_ci を返します -- 列 SELECT 照合名 FROM information_schema.columns WHERE TABLE_NAME = '国'; これは7行を返しますが、すべてnullまたはutf8_general_ciのいずれかです
PHPコード
<?php $con = mysql_connect("localhost","user","123456"); mysql_select_db("swipe_db", $con); $result = mysql_query("SELECT * FROM country where country_name='UK'"); while($row = mysql_fetch_array($result)) { echo $row['country_name'] . " " . $row['currency_symbol']; } mysql_close($con); ?>
アドバイスお願いします よろしくお願いします