Ecommerce, SEO, Gadgets, Mac und Internet Themen

Sonderzeichen Probleme zwischen Formular und Datenbank beheben

Kategorie: web-development Autor: Viktor Dite

Wenn auf einer Seite, welche utf-8 codiert ist, ein Formular eingebunden ist, dass bei Übergabe der Werte in eine Datenbank nur murks ausgibt, dann können Lücken in der Kette der Übergabe bestehen. Folgende Lücken in der UTF-8-Kette können Schuld sein:

1. Seitenkodierung

Als erstes solltest Du prüfen, ob die Seite wirklich utf-8 kodiert ist. Typischerweise schauts so aus:

<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />

2. Datenbankfelder

Als zweites solltest Du prüfen ob die Datenbankfelder auch wirklich utf-8_general_ci kodiert sind. Dafür ist die Kollation zuständig.
Kollation für eine korrekte UTF-8 Formatierung in MySQL

3. Formular Zeichensatz

Auch wenn die Webseite utf-8 kodiert ist, kann es vorkommen, dass das Formular sich einen anderen Zeichensatz krallt. Deswegen sollte dem Formular ebenfalls klargemacht werden, welchen Zeichensatz es verwenden soll:

<form action="dummy.php" method="post" accept-charset="utf-8">

4. Externe Formular Validierung

Wenn das Formular extern eingebunden ist, die Werte also beispielsweise durch eine externe PHP-Funktion validiert werden, so sollte auch diese Funktion an erster Stelle einen utf-8 header bekommen.

<?php header("Content-type: text/xml; charset=utf-8"); ?>

5. SQL UTF-8 Kommunikation

Wenn es jetzt immer noch nicht funktionieren sollte, kannst Du MySQL konkret drauf festnageln, dass jetzt definitiv utf-8 gesprochen wird. Hierzu legst Du vor Deine eigentliche Anfrage folgendes fest:

$utf8 = "SET NAMES utf8";
$utf8_result = mysql_query($utf8) or die("Anfrage fehlgeschlagen: ".mysql_error());
$result_deine_sql_anfrage = mysql_query($deine_sql_anfrage);

Spätestens jetzt sollten Formular und Datenbank sich korrekt verstehen können!


Bewertungen für: Sonderzeichen Probleme zwischen Formular und Datenbank beheben
1 Sterne2 Sterne3 Sterne4 Sterne5 Sterne (Keine Bewertungen bisher)
Loading ... Loading ...

Das könnte noch interessant sein:





Autor dieses Blogs
Viktor Dite bei Google+ Viktor Dite bei Twitter

Webworker & Blogger