hey wurzel, wird meine antwort noch benötigt?
multilingual ... das beste vorgehen?
Einklappen
X
-
Original geschrieben von mister_x1
hey wurzel, wird meine antwort noch benötigt?
Kommentar
-
also, zur anzeige der jeweiligen schriftzeichen, sendest du einfach nen header voraus, der die kodierung und die zeichentabelle angibt:
PHP-Code:header("Content-type: text/html; charset=gb2312")
der browser erkennt, wenn er auf "automatisch" eingestellt ist, die zeichentabelle und stellt diese korrekt dar, sofern der zeichensatz beim client installiert ist, andernfalls fordert er dazu auf.
das schreiben der daten in die db erfolgt relativ blank, sprich trim(), addslashes() und ggf. je nach einsatzgebiet noch strip_tags().
fertig, mehr braucht man nicht.
beim auslesen funktionierte htmlspecialchars() oder htmlentities() nicht, da er wohl alles als sonderzeichen ansah, darum habe ich dafür die regex genommen. ansonsten nl2br() und stripslashes() und fertig.
so, ich hoffe nichts vergessen zu haben. bei fragen gern hier.[color=red]musse rühre, musse probiere=>iss a pulsgeber ![/color]
Kommentar
-
irgendwie alles zu einfach ... was hast du per regex umgewandelt?
wenn ich den charset richtig verstanden habe sollte zB im deutschen eine
umwandlung von zB Ä => Ä unnötig sein, wenn der header den richtigen charset sendet?
Kommentar
-
Original geschrieben von Wurzel
[...] sollte zB im deutschen eine
umwandlung von zB Ä => Ä unnötig sein, wenn der header den richtigen charset sendet?INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |
Kommentar
-
@abraxax: echt, da bin ich mir jetzt nicht so sicher. für deutsch und englich kannst ja problemlos die sonderzeichen umwandeln, mit den fertigen fkt.'s.
@wurzel: ja, es ist so einfach. bin in der entwicklung auch verschiedene wege und vorallem kompliziertere gegangen. aber es ist tatsächlich nicht mehr. wie gesagt, wichtig ist die angabe der richtigen zeichentabelle, habe festgestellt, daß utf-8 zu ungenau ist und nur bedingt funktioniert.[color=red]musse rühre, musse probiere=>iss a pulsgeber ![/color]
Kommentar
-
Original geschrieben von mister_x1
@abraxax: echt, da bin ich mir jetzt nicht so sicher. für deutsch und englich kannst ja problemlos die sonderzeichen umwandeln, mit den fertigen fkt.'s.INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |
Kommentar
-
Original geschrieben von mister_x1
wie gesagt, wichtig ist die angabe der richtigen zeichentabelle, habe festgestellt, daß utf-8 zu ungenau ist und nur bedingt funktioniert.
du gibst einfach ein stinknormales character-encoding aus dem ascii-bereich an. das hat mit uft-8 aber nicht das geringste zu tun.I don't believe in rebirth. Actually, I never did in my whole lives.
Kommentar
-
Original geschrieben von mister_x1
soweit ich mich erinnere, kannst du das encoding schon über utf-8 machenI don't believe in rebirth. Actually, I never did in my whole lives.
Kommentar
-
so erstmal herzlichen dank an alle. ich werd das ganze jetzt so aufbauen:
eingabe-bereich:
- je nach gewählter sprache wird ein header (per php) mit entsprechendem charset gesendet
- das formular erhält zusätzlich dasselbe charset zugewiesen
- die daten werden "normal" in der datenbank gespeichert (also übliche maskierung)
ausgabe:
- je nach gewählter sprache wird ein header (per php) mit entsprechendem charset gesendet
- auslesen der daten aus der db
- ausgabe ohne htmlentities() allerdings mit htmlspecialchars() an den browser
hab ich was vergessen oder gibt es noch was zu beachten?
Kommentar
Kommentar