Vanuit een mysql table genereer ik m.b.v. een php-script een xml bestand.
Dat bestand moet in een andere database applicatie ingelezen worden. Die applicatie vereist dat het bestand UTF-16 gecodeerd is. Ik heb al - naar mijn idee - van alles geprobeerd om dit voor elkaar te krijgen, echter zonder resultaat.

Onder andere staat dit in mijn script:

header("Content-type: text/xml; charset=UTF-16");
header("Content-disposition: attachment; filename=export.xml");
//iconv_set_encoding("internal_encoding", "UTF-16");
//iconv_set_encoding("output_encoding", "UTF-16");
//var_dump(iconv_get_encoding('all'));
...
$xml_output = "<?xml version=\"1.0\" encoding=\"UTF-16\" standalone=\"yes\"?>\n";

Overigens is de xml declaratie in bovenstaande regel identiek aan een xml export dat ik door de bewuste applicatie heb laten genereren.

Wie heeft enig idee hoe ik dit probleem kan oplossen?
Daar kon ik zeker wat mee!
Na lange tijd zoeken, (b)lijkt dit de oplossing te zijn.
De gegenereerde XML-file ziet er nu wat vreemd uit, omdat er na elk karakter een spatie is toegevoegd. Enfin, dat maakt me niet uit. De database applicatie accepteert het bestand en dat was wat ik wilde.

Bedankt voor deze tip!

Reageren