Почему я не могу просматривать символы иностранных языков в моей базе данных mysql?
Я вставляю следующие символы в мою базу данных: 汉字 / 漢字
Это метатег на странице, которая вставляет символы:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
Я изменил все столбцы в моей таблице, содержащей символы, чтобы они были utf8_unicode_ci
Иностранные символы отображаются в БД следующим образом: æ ± ‰ å— / æ¼¢å—
Когда я использую оператор sql для отображения этих иностранных символов на странице, они снова отображаются правильно как: 汉字 / 漢字
Я предполагаю, что у меня есть некоторые настройки, которые не являются правильными в моей БД, так как они хранятся правильно, но не отображаются правильно.
Что я могу сделать, чтобы символы иностранного языка правильно отображались в моей БД?
РЕДАКТИРОВАТЬ: Вот моя вставка:
$sql = 'INSERT INTO orders (foreign_characters)
VALUES (?)';
$stmt = $conn->stmt_init();
$stmt->bind_param('s', $_SESSION['foreign_characters']);
$inserted = $stmt->execute();
1 ответ
Соединение с базой данных также закодировано в UTF-8?
Попробуйте: сразу после подключения к базе данных mysql выполните следующий запрос.
SET NAMES utf8;
Это должно сделать свое дело (см. MySQL документ). (Да, вы должны делать это каждый раз, когда вы подключаетесь.)
Кстати, не просто полагаться на <meta>
-Tag, отправьте соответствующий заголовок HTTP.