Eurokicker
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten
Alt 25.08.2005, 00:57   #1
TP-Veteran
 
Benutzerbild von fettmme
 
Registriert seit: Feb 2002
fettmme bringt sich richtig einfettmme bringt sich richtig ein

PHP Applikation UTF-8-fähig machen


Hallo. Ich habe eine PHP Applikation die Benutzerdaten aus Formularen in einer mySQL Datenbank speichert. Diese Applikation möchte ich nun mit UTF-8 nutzen. Alle HTML Infos zu diesem Thema aus diesem Forum habe ich durch.

Gibt's Tutorials zum Thema PHP, mySQL, Formulare und UTF-8? Danke für jeden Hinweis.
__________________
class GetProfileCustomerEntityReceiverInformationReceiverAndProgrammingInforma...{
public function __construct(){ if(!$this) die(' '); } }
http://www.thedailywtf.com/
fettmme ist offline   Mit Zitat antworten


Alt 25.08.2005, 01:07   #2
TP-Special Mod
 
Benutzerbild von steffenk
 
Registriert seit: Feb 2005
Ort: Haan / NRW
steffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine User
Das ist doch kein Problem. Wenn Du ein UTF-8-Dokument hast, kannst Du ganz normal Deine Daten in die DB speichern.
Nur wenn Du andere Codierungen nutzt, musst Du das mit php-Funktionen nach UTF-8 wandeln.
__________________

Typo3 · MySQLDumper · dislabs
·
manche Mühlen mahlen schneller ...
"Ich habe Rücken"
Horst Schlämmer
steffenk ist offline   Mit Zitat antworten
Alt 25.08.2005, 08:56   #3
TP-Veteran
 
Benutzerbild von fettmme
 
Registriert seit: Feb 2002
fettmme bringt sich richtig einfettmme bringt sich richtig ein
Danke für Deine Antwort. Ich verarbeitet die Strings oft weiter. D.h. mit Regex, String Funktionen usw. Funktioniert das mit UTF-8 auch? Oder muss ich alles auf mb_string (?) Funktionen umstellen?
__________________
class GetProfileCustomerEntityReceiverInformationReceiverAndProgrammingInforma...{
public function __construct(){ if(!$this) die(' '); } }
http://www.thedailywtf.com/
fettmme ist offline   Mit Zitat antworten
Alt 25.08.2005, 11:15   #4
TP-Special Mod
 
Benutzerbild von steffenk
 
Registriert seit: Feb 2005
Ort: Haan / NRW
steffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine Usersteffenk lebt für das TP und seine User
Also vorweg - ich habe noch keine grosse Erfahrung mit den mb-Funktionen.

m.E. reicht die Kodierung des Dokumentes aus, die Forms müssen sicherheitshalber mit accept-charset="UTF-8" erweitert werden (für Browser, die aus der Reihe tanzen )

Soweit ich weiss, sind die PHP-Funktionen mit UTF-8 noch buggy, daher würde ich erst mal völlig normal arbeiten. Die Experimente dürften es ans Licht bringen, ob die Strings korrekt verarbeitet werden.

Für importierte Texte gibts ja noch die Funktion utf8_encode.

Ansonsten ist in diversen Foren immer wieder zu beobachten, das sich viele die Zähne an utf-8 ausreissen

Was ist der genaue Grund für Deine Absicht - hast Du es etwa auch mit Japanisch / Chinesisch o.ä. zu tun ?
__________________

Typo3 · MySQLDumper · dislabs
·
manche Mühlen mahlen schneller ...
"Ich habe Rücken"
Horst Schlämmer
steffenk ist offline   Mit Zitat antworten
Alt 25.08.2005, 11:28   #5
TP-Greis
 
Benutzerbild von Boris
 
Registriert seit: Mar 2001
Ort: Berlin, Germany
Boris ist ein richtiges Arbeitstier - DANKEBoris ist ein richtiges Arbeitstier - DANKEBoris ist ein richtiges Arbeitstier - DANKEBoris ist ein richtiges Arbeitstier - DANKEBoris ist ein richtiges Arbeitstier - DANKEBoris ist ein richtiges Arbeitstier - DANKE
Ich arbeite ganz simpel mit UTF-8, ohne etwas groß berücksichtigen oder ändern zu müssen. Wichtig ist halt nur, dass Du Deine Skripte / HTML-Dateien mit deinem Editor auch als UTF-8 speicherst und in denen auch via header() die Codierung mit angibst, z.B.:

header('Content-Type: text/html; charset=utf-8');
__________________
My software never has bugs. It just develops random features ...

» DevShack - die Website des freien Webentwicklers Boris
Boris ist offline   Mit Zitat antworten
Alt 25.08.2005, 12:57   #6
seb
TP-Veteran
 
Registriert seit: Jan 2002
seb bringt sich richtig einseb bringt sich richtig ein
Für Stringverarbeitung in UTF-8 musst Du die Multibyte-String-Funktionen, sprich mb_irgendwas() benutzen. Die einfachen String-Funktionen gehen davon aus, dass ein Textzeichen auch immer mit einem Byte in der Stringvariablen gespeichert ist. Bei UTF-8 belegen die allermeisten Zeichen allerdings mehrere Bytes, weshalb bei Operationen wie dem Ermitteln der String-Länge oder Extrahieren von Ausschnitten häufig Mist herauskommt.

Etwas präziser: UTF-8 ist im unteren Bereich, d.h. bei den westlichen Standardzeichen (Alphabet, Ziffern und vielleicht noch ein paar Sonderzeichen, ganz genau weiß ichs nicht) kompatibel zu ISO-8859-1. Wenn deine Strings nur einfache Buchstaben und Ziffern enthalten, kannst Du sie auch problemlos mit den einfachen Stringfunktionen handhaben. Sobald allerdings Sonderzeichen wie z.B. auch schon die deutschen Umlaute vorkommen, gibt's Fehler. Keine PHP-Fehlermeldungen, aber falsche, unerwünschte Ergebnisse.

Geändert von seb (25.08.2005 um 17:38 Uhr).
seb ist offline   Mit Zitat antworten
Alt 25.08.2005, 14:13   #7
TP-Veteran
 
Benutzerbild von fettmme
 
Registriert seit: Feb 2002
fettmme bringt sich richtig einfettmme bringt sich richtig ein
Danke für eure Antworten.

@St@eff.en: Japanisch, Chinesisch, Koreanisch, Englisch, Deutsch

@seb: Wie verhält sich das mit den anderen Funktionen, wie preg_match usw? Hast Du da Erfahrungen?
__________________
class GetProfileCustomerEntityReceiverInformationReceiverAndProgrammingInforma...{
public function __construct(){ if(!$this) die(' '); } }
http://www.thedailywtf.com/
fettmme ist offline   Mit Zitat antworten
Alt 25.08.2005, 17:36   #8
seb
TP-Veteran
 
Registriert seit: Jan 2002
seb bringt sich richtig einseb bringt sich richtig ein
Werf doch mal nen Blick auf die Liste der Multi-Byte-Funktionen (recht weit unten auf der Seite). Multibyte-Äquivalente gibt's für die "preg"-Funktionen anscheinend nicht, aber für "ereg". Vielleicht helfen die Dir ja auch?
seb ist offline   Mit Zitat antworten
Alt 25.08.2005, 17:38   #9
TP-Veteran
 
Benutzerbild von fettmme
 
Registriert seit: Feb 2002
fettmme bringt sich richtig einfettmme bringt sich richtig ein
Danke für den Link.
__________________
class GetProfileCustomerEntityReceiverInformationReceiverAndProgrammingInforma...{
public function __construct(){ if(!$this) die(' '); } }
http://www.thedailywtf.com/
fettmme ist offline   Mit Zitat antworten
Antwort

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > Traum-Dynamik
PHP Applikation UTF-8-fähig machen PHP Applikation UTF-8-fähig machen
« Datumsdaten aus Excel in sql-date umwandeln | aus string letzte 3 zeichen in einen neuen string kopieren »

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 21:24 Uhr.

Powered by: vBulletin Version 3.7 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd. / Search Engine Friendly URLs by vBSEO 3.2.0 ©2008, Crawlability, Inc.
Traum-Projekt.com | Suchen | Archiv | Impressum | Kontakt | | | Nach oben |



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67