J'essaie de générer des informations sur les produits stockés dans une base de données MySQL, mais il écrit des caractères étranges, comme un diamant avec une marque d'interrogation à l'intérieur. p>
Je pense que c'est peut-être un problème de codage / utf8, mais j'ai spécifié le codage que je veux: p>
est-ce correct? Que dois-je vérifier? P>
4 Réponses :
Si seules les données provenant de la base de données ont des caractères étranges, assurez-vous que la connexion MySQL est également dans UTF8 à l'aide de: avant toute autre requête. Sinon, si les caractères apparaissent également dans les fichiers «manuscrites», assurez-vous que les fichiers sont enregistrés comme UTF-8 dans votre éditeur. Vous pouvez également essayer de définir l'en-tête Charset via PHP: P> header('Content-type: text/html; charset=UTF-8');
mysql_query ("SET NAMES UTF8"); travaillé pour mon problème d'extraction de WordPress Post (point d'interrogation dans un diamant). Merci
secondaire ce que dit Tatu. P>
Ceci est une bonne lecture de fond sur le codage: Le minimum absolu Chaque développeur de logiciel absolue, de manière positive. A propos de Unicode et des ensembles de caractères (aucune excuse!) p>
La dernière fois que j'ai eu ce problème, la solution était similaire à ce que Tatu Ulmanen a dit, mais légèrement différent ...
Donc, si sa solution ne fonctionne pas, essayez de remplacer P>
mysql_query("SET NAMES latin1");
Je suppose que vous voulez que le résultat soit dans utuf8 p>
Set de caractère_set_results = 'utf8', caractère_set_client = 'utf8', caractère_set_connection = 'utf8', caractère_set_database = 'utf8', caractère_set_server = 'utf8' code> li>
ul>
Si vous suivez tous les 4 points, vous ne devriez jamais avoir de problème avec des codages brisés. P>
Un post à PHPadvent sur le même problème de caractère étrange: phpadvent.org/2009/character -Sets-by-Paul-Reinheimer