Pourquoi ne puis-je pas voir les caractères de langues étrangères dans mon DB mysql?
Question
Je l'insertion des caractères suivants dans mon DB: 汉字 / 漢字
Ceci est la balise meta sur la page qui est d'insérer les caractères:
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
Je l'ai modifié toutes les colonnes de ma table qui tient les caractères à utf8_unicode_ci
Les caractères étrangers apparaissent comme si dans le DB: æ ± ‰ å- / æ¼ ¢ å -
Quand j'utilise une instruction SQL pour afficher les caractères étrangers sur une page, ils affichent à nouveau correctement comme: 汉字 / 漢字
Je suppose que j'ai quelques réglages qui ne sont pas correct dans mon DB, car il stocke correctement, mais ne l'affiche pas correctement.
Que puis-je faire pour rendre les caractères en langue étrangère pour afficher correctement dans mon DB?
EDIT: Voici mon insert:
$sql = 'INSERT INTO orders (foreign_characters)
VALUES (?)';
$stmt = $conn->stmt_init();
$stmt->bind_param('s', $_SESSION['foreign_characters']);
$inserted = $stmt->execute();
La solution
La connexion à la base de données également UTF-8 codé?
Donner à ceci un essai. Juste après la connexion à la base de données MySQL, exécutez la requête suivante
SET NAMES utf8;
Cela devrait faire l'affaire (voir MySQL doc ). (Oui, vous devez le faire à chaque fois que vous vous connectez.)
BTW:. Ne vous fiez pas seulement sur le <meta>
-Tag, envoyer l'en-tête HTTP appropriée