MySQLでは文字列があります。文字列はphpmyadminで正しく表示され、照合順序はutf8_general_ci
に設定されています。 、私はプレーンなHTMLを使用してヘッダーを設定しているPHPファイルでPHP経由でMySQLからUTF-8文字列を取得しました。 "????????"
:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
PHPファイルはUbuntuのは、Apache 2.2でホストされている、そしてファイルが(++メモ帳を使用して)UTF-8 without BOM
に保存されます
@mysql_query("set names 'utf8'", $this->link);
$r = @mysql_query($query, $this->link);
それは文字列(VARCHAR 255)を返し、私たち:私はUTF8を使用するように接続を設定した
PHPエコー、それはブラウザに表示されます。
しかし、私はまだ?????実際の言葉の代わりに。
私が逃したかもしれないものを検索することができないようです。あなたの助けが大変ありがとうございます。
=====編集=====
データベース、テーブルとカラムは、3つの異なる照合順序を持つことができ、私はそれらすべてがutf8_general_ciに設定されている、とmysql_set_charset呼び出し(「UTF8」)すぐに接続した後私の問題を解決しました。
これは、今後の同じ問題にぶつかるためのチェックリストとして役立つことを願っています。私は誰かが何かを見逃しているかどうかを確認するために数ヶ月で非常にうまく戻るかもしれません:)
ありがとう、すべての素晴らしい入力。
正しく保存されていますか? –
UTF-8パイプラインを使用してデータを挿入しましたか?出力パイプラインが正しくutf8になっていても、データベースの挿入前/挿入中にデータが破損している可能性があります。 –
他のテキスト(データベースではない)が正しいか疑問符でもありますか? –