mysql DB で外国語の文字を表示できないのはなぜですか?
質問
次の文字を DB に挿入しています。 汉字 / 漢字
これは、文字を挿入しているページのメタ タグです。
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
文字を保持しているテーブル内のすべての列を次のように変更しました。 utf8_unicode_ci
外国文字は DB 内で次のように表示されます。 æ±‰å— / æ¼¢å—
SQL ステートメントを使用してこれらの外国文字をページに表示すると、次のように再び正しく表示されます。 汉字 / 漢字
DB には正しく保存されていても正しく表示されないため、DB に正しくない設定があるのではないかと思います。
DB で外国語の文字を正しく表示するにはどうすればよいですか?
編集: これが私の挿入です:
$sql = 'INSERT INTO orders (foreign_characters)
VALUES (?)';
$stmt = $conn->stmt_init();
$stmt->bind_param('s', $_SESSION['foreign_characters']);
$inserted = $stmt->execute();
解決
は、データベースへの接続であるにもUTF-8でエンコードされた?
このを試してみてください:MySQLデータベースに接続した後、右、次のクエリを実行します。
SET NAMES utf8;
これは(参照のMySQLのdoc )。 (ええ、あなたが接続し、この毎回行う必要があります。)
ところで:ちょうど適切なHTTPヘッダを送信する、<meta>
タグに依存していません。
所属していません StackOverflow