Këshilla dhe truket për kompjuterin tuaj Përkthim me Google ↑ 2020-12-17 Web: Texte mit Umlauten werden nicht richtig angezeigt - htmlspecialchars
Problem:
Ein Web-Programm lief auf zwei verschiedenen Systemen: PHP 7.2 mit Zeichensatz ISO-8859-1 (latin1) und PHP 7.2 mit Zeichensatz UTF-8 (utf8). Das Web-Programm verwendet die Funktion:
$string = htmlspecialchars ($string);
Im Web-Programm mit dem Zeichensatz ISO-8859-1 (latin1) werden jedoch Texte mit Umlaute gar nicht richtig angezeigt (oder gar kein Text). |
Lösung:
Die Funktion htmlspecialchars wandelt nur spezielle Zeichen um:
& (ampersand), " (double quote), ' (single quote), (less than), (greater than)
Die Funktion htmlspecialchars hat verschiedene optionale Parameter:
string htmlspecialchars( string $string[, int $flags = ENT_COMPAT | ENT_HTML401[, string $encoding = ini_get('default_charset')[, bool $double_encode = true]]] )
Wenn man keine Optionen angibt, dann verwendet PHP ab Version 5.4 als Standardwert für $encoding UTF-8. Und ab Version 5.6 verwendet den Wert von default_charset für $encoding. Wenn man htmlspecialchars ohne Optionen verwendet und den latin1-Zeichensatz hat, dann muss man setzen:
ini_set('default_charset','ISO-8859-1');
ansonsten hat man die Situation:
$string = htmlspecialchars ($string_in_latin1,ENT_COMPAT | ENT_HTML401,'UTF-8');
Obwohl nur spezielle Zeichen verändert werden sollen, funktioniert die Funktion nicht mehr richtig (oder gar nicht). |
Përkthim me Google Lidhje në këtë faqe
| | |