Ik krijg via een api een tekst binnen die volgens mij foutief gecodeerd is.
VB het unicode karakter 'thumbs up' wordt: Ø=ÜM
en België ! wordt: ¡B¡e¡l¡g¡i¡ë¡ ¡!
Iemand enig idee hoe ik hiervan terug UTF-8 codering kan maken. Heb al allerlei combinatie geprobeerd met iconv in php, maar lukt me niet...
alvast hartelijk dank voor de hulp.
Waarom kom je niet met meer informatie over de API? Wat is het voor API, is een officiële API met documentatie, heb je een link naar de API?
neen, geen gekende API.
Na wat verder onderzoek is het blijkbaar de manier waarop de urlencoding / decoding werkt.
De API stuurt unicode text door als volgt:
Hallo [thumbsup] test -> %00H%00a%00l%00l%00o%00+%D8%3D%DCM%00+%00t%00e%00s%00t%00
en php maakt daar volgende UTF-8 tekst van: H a l l o Ø=ÜM t e s t
Probeer het volgende eens:
<?php
header('Content-Type: text/html; charset=UTF-8'); // force UTF-8
$test = mb_convert_encoding('<text uit API>', 'UTF-8', 'UTF-16'); // from UTF-16 to UTF-8
echo $test; // waffles
?>
ik heb het gevonden: iconv('utf-16be', 'utf-8', rawurldecode($getvariable))

Reageren