Pourquoi ne puis-je pas voir les caractères de langues étrangères dans mon DB mysql?

StackOverflow https://stackoverflow.com/questions/2488886

  •  21-09-2019
  •  | 
  •  

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();
Était-ce utile?

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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top