Zitat:
Dann sollte das doch aber vorher schon mit
$response = file_get_contents($requestString);
gehen oder nicht?
|
Prinzipiell ja. Das wird dir aber aus…
PHP-Code:
<?php // Encoding der Quellcode-Datei: UTF-8
header('Content-Type: text/html; charset=ISO-8859-1');
echo utf8_decode('Лев Николаевич Толстой');
…das hier machen:
Code:
??? ?????????? ???????
Die entsprechenden UTF-8-Zeichen existieren in ISO-8859-1 schlicht und ergreifend nicht.
Du kannst sie in ISO-8859-1 lediglich als (in vielen Fällen ausschließlich numerische) Entities kodieren.
PHP-Code:
<?php // Encoding der Quellcode-Datei: UTF-8
function JB_utf8_to_html ($data) {
return preg_replace("/([\\xC0-\\xF7]{1,1}[\\x80-\\xBF]+)/e", '_utf8_to_html("\\1")', $data);
}
function _utf8_to_html ($data) {
$ret = 0;
foreach ((str_split(strrev(chr((ord($data{0}) % 252 % 248 % 240 % 224 % 192) + 128) . substr($data, 1)))) as $k => $v)
$ret += (ord($v) % 128) * pow(64, $k);
if ($ret<256) return chr($ret); // no need to convert to entities
return "&#$ret;";
}
header('Content-Type: text/html; charset=ISO-8859-1');
echo JB_utf8_to_html('Лев Николаевич Толстой');
Code:
Лев Николаевич Толстой
(HTML-Quellcode-Ansicht aufrufen, um Entities zu sehen. Die schluckt die Forensoftware.)
Eingesetzte Funktionen via Suchmaschine von hier:
-
Convert UTF-8 to ISO-8859-1 and HTML Entities
Möglicherweise gibt es eine vorhandene PHP-Funktion, die das auch leisten kann. Ich weiß es gerade nicht.
Zitat:
|
Weil meine Seite deutsch und ISO-8859-1 ist und auch bleiben soll
|
Es ist, was es ist, sagt die Liebe? Die Begründung überzeugt mich nicht.