phpbar.de logo

Mailinglisten-Archive

[php] Unicode in Latin1-Datenbank

[php] Unicode in Latin1-Datenbank

Albin Blaschka albin.blaschka at sbg.ac.at
Don Jul 20 21:37:39 CEST 2006


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Mario Aeby schrieb:
> Hallo zusammen
> 
> Ich stecke gerade in den Planungen für die Erstellung einer 
> Tagungs-Datenbank, in der u.a. auch Abstracts von Referaten gespeichert 
> werden sollen.
> 
> Was mir Sorgen bereitet ist der zu erwartende Zeichensalat. Bis heute 
> habe ich unter MySQL ausschliesslich Latin1-Datenbanken erstellt und 
> bin bisher gut damit gefahren. Dennoch gibt es Fälle, in denen die 
> Browser die Inhalte von TEXTAREAS etc. nicht richtig von UTF (z.B. aus 
> einer PDF-Datei) nach ISO-8859-1 umwandeln, wenn diese an den Server 
> geschickt werden.
> 
> Auf jeden Fall möchte ich die Inhalte bei der Ausgabe auf der Web-Site 
> durch htmlentities() durchjagen, fürchte mich aber vor speziellen 
> Anführungszeichen, Gedankenstrichen etc.
> 
> Welche Technik verwendet ihr, um den Zeichensalat so gering wie möglich 
> zu halten? Erstellt ihr Datenbanken im UTF-8-Zeichensatz und lasst die 
> Web-Site dann mit UTF-8 als Charset ausliefern? Auf gut Glück, ohne 
> Nachbehandlung mit htmlentities()?
> 
> Danke für euer Feedback
> Gruss
> Mario

Hallo,

IMHO, sobald Du es mit verschiedenen Sprachen zu tun bekommst, mit ihren
speziellen Sonderzeichen, führt kein Weg um UTF-8 herum...

Spreche da aus eigener Erfahrung. Habe ein einfaches Anmeldesystem für
eine internationale Tagung gebaut, mit Teilnehmern aus Norwegen,
Schweden, Russland, Deutschland, Österreich, Schweiz, Frankreich,
Italien, Griechenland...

BTW: Schau Dir mal den dritten Parameter von htmlentities an...(ab
Version 4.3.0) - http://at.php.net/manual/en/function.htmlentities.php

Außerdem könnte Dich ja auch noch folgendes interessieren...
http://at.php.net/manual/en/ref.mbstring.php
;-)

Wichtig ist nur, daß Du eine durchgängige "Kette" hast, Du also weißt,
welches charset auf Dich zu kommt. Da kommen Konfigurationsdirektiven
vom Apachen, von php.ini und http-headern auch mit ins Spiel. Da gab es
in den letzten Monaten ja einige Threads dazu, bei ein, zwei war ich
beteiligt... ;-)

Wenn Du alles in Deinem System hast, also nicht auf externe Quellen
zugreifen mußt/angewiesen bist sollte UTF-8 absolut kein Problem
darstellen. Ich arbeite allerdings persönlich mit PostgreSQL...
Konvertierungen bereiten meist Kopfzerbrechen...alles einheitlich zu
haben ist meist langfristig der einfachere Weg und bei verschiedenen
Sprachen heißt das nun mal UTF-8...

HTH,
Albin


- --
- ---------------------------------------------------------------------
| Albin Blaschka, Mag. rer.nat
| Fachbereich für Organismische Biologie, Universität Salzburg
| Hellbrunnerstr. 34, A - 5020 Salzburg, Österreich
|
| It's hard to live in the mountains, hard, but not hopeless!
- ---------------------------------------------------------------------
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2.2 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFEv9uD6pCOx+CPbCIRArLcAJ0RcAopJ4Eo/8sDnMj3v1N7xisV3wCeIAYo
rQKXJfwMMDtJIo8N7RcHy/o=
=XI9M
-----END PGP SIGNATURE-----

php::bar PHP Wiki   -   Listenarchive