J'essaie d'utiliser UTF-8, mais je ne suis pas sûr si je fais tout correctement. J'essaye d'écrire JSON dans une base de données en utilisant PHP, de le récupérer via AJAX et de l'afficher en HTML. Donc, tout d'abord, je garde mes fichiers PHP & JS au format UTF-8.
J'ajoute l'en-tête UTF-8 à mes fichiers PHP.
La table de base de données est créée comme suit:Où puis-je définir mes jeux de caractères, en utilisant JavaScript, PHP et MySQL
CREATE TABLE `achieve` (
`id` bigint(20) unsigned NOT NULL,
`json` mediumtext,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Lors de l'enregistrement de la base de données, j'utiliser le code PHP suivant:
$json=$_REQUEST["json"];
...
$result = mysql_query($query);
if ($line = mysql_fetch_assoc($result))
$query = sprintf(
'UPDATE achieve SET json = "%s" WHERE id=%d ',
mysql_real_escape_string($json), $ID
);
else
$query = sprintf(
'INSERT INTO achieve (id, json) VALUES (%d, "%s") ',
$FBID, mysql_real_escape_string($json)
);
mysql_query($query);
Quand j'afficher la valeur en HTML, il semble encore être dans le mauvais encodage. Une idée de ce qui me manque?
http://developer.loftdigital.com/blog/php-utf-8-cheatsheet – BalusC