Zeichensatz mit Umlauten

Irgendwelche Probleme mit XAMPP für Windows? Dann ist hier genau der richtige Ort um nachzufragen.

Zeichensatz mit Umlauten

Postby Besth » 03. November 2010 14:06

Hallo,

ich habe jetzt schon einiges im Internet gelesen bezüglich dieser Problematik, nur leider komme ich immer noch nicht 100%ig klar.
Ich stelle diese Frage jetzt mal hier, weil in xampp alle betroffenen Produkte drin sind.

Wie bekomme ich es hin, dass die Umlaute aller betroffenen Systeme richtig dargestellt werden.
Was muss ich wo genau einstellen, damit es auch alle Systeme kapieren. Und welches ist der Zeichensatz der auch alles beherscht?
- Ich möchte in meinen php-Dateien ganz normal Umlaute verwenden können: also äöüß usw
- Ich möchte in meiner mysql-DB die Umlaute auch genau so abspeichern: äöüß usw
- mit phpmyadmin möchte ich mir die Einträge angucken können und hierbei sollen auch alle äöüß sichtbar sein
- mein PHP-Script soll User-Eingaben mit Umlauten auch so in die mysql-DB schreiben und von dort auch wieder genau so auslesen können
Egal was ich einstelle, irgendeins von den genannten Sachen geht dann nicht.
Besth
 
Posts: 2
Joined: 03. November 2010 13:44

Re: Zeichensatz mit Umlauten

Postby Stepke-DSL » 03. November 2010 14:42

Hallo,

Als Zeichensatz würde ich zu UTF-8 raten.
Die DB muss mit UTF-8 angelegt werden, dei Verbindung zur DB muss mit UTF-8 arbeiten und die PHP-Scripte sollten UTF-8 kodiert sein.
Aber nicht vergessen, die Variablen in den Scripten und die Tabellen-/Spaltennamen sollten KEINE Umlaute beinhalten...

MfG Stepke
Stepke-DSL
 
Posts: 313
Joined: 12. July 2007 16:08
Operating System: Win XP Pro SP3 + SuSe Linux

Re: Zeichensatz mit Umlauten

Postby Besth » 03. November 2010 15:14

Ok und wie genau mache ich das jetzt?
Besth
 
Posts: 2
Joined: 03. November 2010 13:44

Re: Zeichensatz mit Umlauten

Postby Altrea » 03. November 2010 16:38

Besth wrote:ich habe jetzt schon einiges im Internet gelesen bezüglich dieser Problematik[...]
Wie bekomme ich es hin, dass die Umlaute aller betroffenen Systeme richtig dargestellt werden.
Was muss ich wo genau einstellen, damit es auch alle Systeme kapieren.


Allein die Tatsache, dass du von dieser Problematik schon soviel gehört hast zeigt, dass es kein triviales Problem ist, bei dem man dir nur 2-3 Sätze zu sagen muss und schon läuft alles.
Du benötigst ein generelles Verständnis darüber, was Zeichenkodierungen sind und wie der Computer Buchstaben überhaupt speichert.

Aber für dich mal eine Art checkliste:
- alle Dateien in denen Umlaute vorkommen können (html, php, js, ...) müssen von deinem jeweiligen Editor in UTF-8 gespeichert sein (achte vorallem bei php Dateien darauf, dass sie ohne ByteOrderMark gespeichert werden)
- deine Datenbank muss/sollte in UTF-8 vorliegen. Am besten durchgängig von DB Kollation bis zu den einzelnen Feldtypen
- die Kommunikationswege zwischen deinen Komponenten (also vorallem zwischen php und MySQL) müssen/sollten sich auf einen Zeichensatz einigen. Stichwort SET NAMES
- stelle zudem sicher, dass Usereingaben ebenfalls in dem Zeichensatz übertragen werden (wenn du alles richtig gemacht hast sollte dies in der Regel automatisch so sein. Ansonsten kannst du auch über accept-charset in Formularen einen Zeichsatz anfordern).

Und das war der leichte Teil. Knifflig wird es wenn du bereits eine unmenge von falsch kodierten Bestandsdaten hast... Aber das wäre zuviel für diesen Beitrag hier.
Ansonsten such mal nach Zeichensatz oder utf8. Da habe ich hier auchschon 1, 2 ausführlichere Beiträge zu geschrieben.
We don't provide any support via personal channels like PM, email, Skype, TeamViewer!

It's like porn for programmers 8)
User avatar
Altrea
AF Moderator
 
Posts: 8286
Joined: 17. August 2009 13:05
XAMPP version: several
Operating System: Windows 10 Pro x64


Return to XAMPP für Windows

Who is online

Users browsing this forum: No registered users and 13 guests