Ik maak gebruik van een webservice en krijg daar <?xml version="1.0" encoding="utf-8" ?> van terug. Ik wil deze informatie opslaan in mijn 3.xx MySQL dbs. Hiervoor converteer ik de data eerst naar ASCII door hem hier doorheen te halen.
Dit gaat met alle karakters goed, behalve met de ë. Als ik bijvoorbeeld het woord cliënten heb, dan maakt hij er cli?en van. ënt wordt dus vervangen door een ?. Dit gebeurd overigens op het moment dat ik het in de dbs zet. Als ik het vlak voor het in de dbs zetten echo, dan ziet het er goed uit.
Iemand een idee waar het hem in zit? Ik heb php.net al afgespit en hier ook gezocht.
code:
1
2
3
4
5
6
7
| function decodeHTML($string) { $trans_tbl = get_html_translation_table(HTML_ENTITIES); $trans_tbl = array_flip ($trans_tbl); $ret = strtr ($string, $trans_tbl); return utf8_decode(preg_replace('/&#(\d+);/me', "chr('\\1')",$ret)); } |
Dit gaat met alle karakters goed, behalve met de ë. Als ik bijvoorbeeld het woord cliënten heb, dan maakt hij er cli?en van. ënt wordt dus vervangen door een ?. Dit gebeurd overigens op het moment dat ik het in de dbs zet. Als ik het vlak voor het in de dbs zetten echo, dan ziet het er goed uit.
Iemand een idee waar het hem in zit? Ik heb php.net al afgespit en hier ook gezocht.