Zo, ik ben tegen iets raars aangelopen.
Mijn PHP draait met UTF-8 character encoding, en dat gaat prima.
Script welke goed gaat:
Echter, vanuit een sessie gaat het fout!
Als ik echo mb_internal_encoding ( ); doe krijg ik netjes UTF-8.
Een simpele echo van $_SESSION['Klant'] geef netjes Bäkkër terug!
Als ik echter met de hand opgeef dat hij UTF-8 moet zijn gaat het wel goed...
Wat doe ik verkeerd ofzo
Mijn PHP draait met UTF-8 character encoding, en dat gaat prima.
Script welke goed gaat:
PHP:
1
2
3
4
| $string = "Bäkkër"; echo htmlentities ( $string ); // Output: Bäkkër // OK! |
Echter, vanuit een sessie gaat het fout!
PHP:
1
2
3
4
| $_SESSION['Klant'] = "Bäkkër"; echo htmlentities ( $_SESSION['Klant'] ); // Output: Bäkker // Fout!! |
Als ik echo mb_internal_encoding ( ); doe krijg ik netjes UTF-8.
Een simpele echo van $_SESSION['Klant'] geef netjes Bäkkër terug!
Als ik echter met de hand opgeef dat hij UTF-8 moet zijn gaat het wel goed...
PHP:
1
2
3
4
| $_SESSION['Klant'] = "Bäkkër"; echo htmlentities ( $_SESSION['Klant'] , ENT_COMPAT, "UTF-8" ); // Output: Bäkkër // OK |
Wat doe ik verkeerd ofzo
[Voor 28% gewijzigd door WoBBeL op 16-07-2010 10:40]