I'm trying to work with French characters. For whatever reason, PHP won't output them correctly unless I force the ISO-8859-1 character set (which I really don't want to do); it won't let me use UTF-8.
So doing a print_r()
of my array when I force ISO-8859-1 yields 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 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.
)
)
In both instances, executing a json_encode()
yields 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 set to UTF-8, yet for some odd reason every time I insert anything with French characters it reverts itself to some Western European encoding.
Mainly, I really need json_encode()
to return valid results so I can use it in my translations. I have tried iconv()
and utf8_encode()
, but to no avail.
Any help would be greatly appreciated.
See Question&Answers more detail:
os