Bonjour,
j'utilise json_encode pour entrer une variable tableau dans une colonne de ma table mysql, ensuite et je les décode sur une autre page avec json_decode pour une manipulation dans une boucle.
j'ai lu que ces fonctions sont plus souples en encodage utf8
cependant les valeurs string de chacune des variables ont perdu leurs accents et les textes sont déformés lorsque qu'ils sont accentués mais ceux qui ne sont pas accentués sont ok.
J'utilise une table en utf8 general_ci
je mets en haut de page php
<?php header( 'content-type: text/html; charset=utf-8');?>
de plus je mets cette fonction dans mon fichier de connexion a la base de donnée mysql
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
<?php
function connect() {
$mysql_connect = mysql_connect(HOST_NAME, USER, PASSWORD);
mysql_select_db(DATABASE, $mysql_connect);
mysql_set_charset( 'utf8' );
mysql_query("SET character_set_results = 'utf8',
character_set_client = 'utf8',
character_set_connection = 'utf8',
character_set_database = 'utf8',
character_set_server = 'utf8'");
}
?> |
mon editeur est encoder en utf8
ma version de php 5.3.4
mais le probleme est que les chaines contenants des accents ne sont pas décoder et restent coder quand j'utilise json_decode
j'ai essayé aussi de mettre
$tableau = utf8_encode($tableau);
avant d'encoder ma variable avec json_encode
cependant j'obtiens cette erreur:
Warning: utf8_encode() expects parameter 1 to be string, array given in C:\wamp\
quelqu'un connait-il le probleme ?
merci
Partager