Jörg Reinholz: mb_detect_encoding?

Beitrag lesen

Womit Du -erneut- Deine umfassende Projekterfahrung im Endkundengeschäft darlegst. Nichts für ungut, aber der musste bei der (für mich augenblicklichen!) Gelegenheit mal raus.

Das ist recht. Wenn ich "Pizza fastix" haben will und zahlen soll, dann will ich, darauf Birne und keine Ananas ist. Sonst wäre es ja "Hawai". Allerdings darf ich dann nicht verlangen, dass Kirschen unter dem Käse sind. Dann hätte ich Pizza "Tokyo" verlangen müssen.

Die nächste Frage ist, ob es denn der Kunde ist, der die Daten liefert. Die können ja automatisch erstellt werden.

z.B. wird etwas wie ein

$sh='export LANG="de_DE.UTF-8"; whois ' . escapeshellarg($domain);  
$txt=`$sh`;

trotz korrekt gesetzter Umgebungsvariable die Ausgaben zwar zurück liefern, aber die Kodierung bleibt völlig willkürlich. Denn die bestimmt der  Betreiber des whois Servers (bzw. der Registrator) - und zwar ohne die zu erwähnen! Man mache mal ein whois auf IP's von Telefonica um sich zu überzeugen...

In solchen Fäll wirkt, trotz aller Unsicherheiten, die Spekulation mit mb_detect_encoding recht nützlich:

$coding = mb_detect_encoding($txt, 'ASCII, 'Windows-1252', 'ISO-8859-15', 'UTF-8'); # eventuell erweitern...  
if ( ! 'UTF-8' == $coding ) { $txt=iconv($coding, 'UTF-8', $txt); }  

Leben, Frau, Gesundheit würde ich dem allerdings nicht anvertrauen....

Jörg Reinholz