Versioni: 2.16Ndryshuar: 07.12.2023NdryshimeVizitues: 1271701AdresaMesazhi i kthimitPërgjegjësiaDhurata (CHF 10)Created by PFS
Tipps und Tricks rund um den Computertipps_und_tricks_computer
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


Reklamë:
O&O Software -