dedlfix: prüfen ob eine Eingabe in einem Input-Feld GB 2312 enthält

Beitrag lesen

echo $begrüßung;

ja, an den 'accept-charset-Attribut' hatte ich auch schon gedacht. Das blöde ist nur das ich innerhalb des selben Formulars sicherstellen muss das ein paar Angaben in chinesischen Zeichen und ein Paar in lateinischen Buchstaben erfolgt.

Quäl dich nicht mit unterschiedlichen Kodierungen. Verwende konsequent eine. Auch in GB2312 sind die lateinischen Buchstaben enthalten, nur anders kodiert als in ISO-8859-x. Besser ist es jedoch, wenn du den "alten Mist" unberücksichtigt lässt und UTF-8 verwendest. Zur Not kannst du immer noch umkodieren (wenn auch nicht in jedem Fall verlustfrei), wenn irgendeine Schnittstelle unbedingt eine andere Kodierung haben will.

In javascript sehen die chinesischen Zeichen ungefähr so aus. 匶 Wäre es nicht ein möglicher Ansatz zu Prüfen ob der Wert zw. ✐ und  &#70000 liegt. wobei ich die Zahlen einfach mal schätze. Müsste mich noch informieren ob es da einen eingegrenzten Bereich gibt in dem vereinfachtes chinesisch liegt.

Das sind nummerische Zeichenreferenzen (NCR), die Unicode entsprechen. Es gibt aber keine Garantie, dass alle Browser zu NCRs greifen, wenn Zeichen eingegeben werden, die nicht in der Kodierung der das Formular enthaltenden Seite vorkommen. Nimm lieber gleich konsequent UTF-8.

Bitte sinnvoll zitieren und nicht im TOFU-Stil.

echo "$verabschiedung $name";