Der Martin: Daten aus MySQL in Formular laden problem mit Umlauten

Beitrag lesen

Hallo,

Unter einlesen versteh ich das:

ah, jetzt werden wir konkret! :-)

<?php

$id = $_POST["id"];
  $abfrage1 = "SELECT * FROM garant WHERE id = '".$id."'";
  $ergebnis1 = mysql_query($abfrage1);
  mysql_query("SET NAMES 'utf-8'");

  
Zu diesen paar Zeilen habe ich schon drei böse Anmerkungen.  
 \* Dass du dir eine gefährliche Sicherheitslücke aufreißt, ist dir bewusst? Wenn dir für den URL-Parameter 'id' jemand etwas hinreichend gemeines unterschiebt, kann er mit deiner DB so ziemlich alles tun.  
 \* Das Umkopieren zur Verschleierung der Herkunft von Daten ist wohl auch nicht auszurotten.  
 \* Wenn du \*erst\* eine Abfrage absetzt, und danach die Codierung der Verbindung auf UTF-8 umstellst, ist das Kind möglicherweise schon in den Brunnen gefallen. Die Codierung sollte als erstes festgelegt werden, noch bevor irgendeine DB-Operation stattfindet, sogar noch vor der Auswahl der Datenbank!  
  

> > Ist die PHP-Datei als UTF-8 (ohne BOM!) gespeichert?  
> Was heißt BOM?!  
  
Was heißt Google? Was heißt [Wikipedia](http://en.wikipedia.org/wiki/Byte-order_mark)?  
  

> > Ist der Webserver so konfiguriert, dass er als HTTP-Header UTF-8 angibt?  
> Läuft nur lokal im Intranet auf einer Xampp-Version  
  
Noch besser, dann hast du (bzw. jemand, den du direkt ansprechen kannst) ja unmittelbaren Zugriff auf die Serverkonfiguration.  
  
Die Frage sollte eher sein: Liefert der Server das Dokument auch als UTF-8 aus? Das kann man ja in den heute üblichen Browsern über die Seiteninformationen abfragen, im FF auch bequem mit der LiveHTTP-Extension, auf die ich nicht mehr verzichten möchte.  
  

> ###### ApacheFriends XAMPP (Basispaket) version 1.6.3a ######  
>   + Apache 2.2.4  
>   + MySQL 5.0.45  
>   + PHP 5.2.3 + PHP 4.4.7 + PEAR  
>   + PHP-Switch win32 1.0 (von Apachefriends, man nehme die "php-switch.bat")  
>   + XAMPP Control Version 2.5 from www.nat32.com	  
>   + XAMPP Security 1.0	  
>   + SQLite 2.8.15  
>   + OpenSSL 0.9.8e  
>   + phpMyAdmin 2.10.3  
>   + ADOdb 4.95  
>   + Mercury Mail Transport System v4.01b  
>   + FileZilla FTP Server 0.9.23  
>   + Webalizer 2.01-10  
>   + Zend Optimizer 3.3.0  
>   + eAccelerator 0.9.5.1 für PHP 5.2.3 (auskommentiert php.ini)  
  
Dass du hier die ganze serverseitige Softwareausstattung aufzählst, hilft nicht wirklich weiter.  
  
So long,  
 Martin  

-- 
Ich liebe Politiker auf Wahlplakaten.  
Sie sind tragbar, geräuschlos, und leicht wieder zu entfernen.  
  (Loriot, deutscher Satiriker)  
  
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(