I am trying to work with French characters. For some reason, PHP will not output them correctly unless I force the ISO-8859-1 character set (which I really don't want to do); he will not let me use UTF-8.
Thus, when using print_r() my array while forcing ISO-8859-1 you will get the following:
Array ( [0] => stdClass Object ( [language] => fr [langselect] => î [s1next] => Prochain [hascodespan] => Avez-vous déjà un code d'enregistrement? [s2prev] => Précédent [s2next] => Oui, j'ai déjà un code. [ecodedescription] => Un E-Code vous donne un accès exclusif à des événements vraiment cool. Si vous êtes dans le besoin d'un code, vous pouvez en acheter un dans notre boutique en ligne en visitant ce lien <a href="#"> boutique en ligne</ a>. [purchase] => Cliquez ici pour acheter en ligne billets [ecodespan] => S'il vous plaît entrer votre e-code [ecodelocdescription] => Votre code peut être trouvé ci-dessous le code à barres sur votre billet [s3prev] => Précédent [s3next] => Prochain [validationtext] => Validation E-Code ... Un instant. ) )
When using UTF-8, the output is as follows:
Array ( [0] => stdClass Object ( [language] => fr [langselect] => [s1next] => Prochain [hascodespan] => Avez-vous d j un code d'enregistrement? [s2prev] => Pr c dent [s2next] => Oui, j'ai d j un code. [ecodedescription] => Un E-Code vous donne un acc s exclusif des v nements vraiment cool. Si vous tes dans le besoin d'un code, vous pouvez en acheter un dans notre boutique en ligne en visitant ce lien <a href="#"> boutique en ligne</ a>. [purchase] => Cliquez ici pour acheter en ligne billets [ecodespan] => S'il vous pla t entrer votre e-code [ecodelocdescription] => Votre code peut tre trouv ci-dessous le code barres sur votre billet [s3prev] => Pr c dent [s3next] => Prochain [validationtext] => Validation E-Code ... Un instant. ) )
In both cases, executing json_encode() gives the following result:
[ { language: "fr", langselect: null, s1next: "Prochain", hascodespan: null, s2prev: null, s2next: null, ecodedescription: null, purchase: "Cliquez ici pour acheter en ligne billets", ecodespan: null, ecodelocdescription: null, s3prev: null, s3next: "Prochain", validationtext: "Validation E-Code ... Un instant." } ]
I have my database installed in UTF-8, but for some strange reason, every time I insert something with French characters, it goes back to some Western European encodings.
Basically, I really need json_encode() to return valid results so that I can use it in my translations. I tried iconv() and utf8_encode() , but to no avail.
Any help would be greatly appreciated.