Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [PHP/MySQL] Euro-Zeichen (https://www.delphipraxis.net/105730-%5Bphp-mysql%5D-euro-zeichen.html)

3_of_8 28. Dez 2007 16:17


[PHP/MySQL] Euro-Zeichen
 
Morgen.

Ich hab gerade ein Problem in PHP.

Ich bekomme es einfach nicht hin, einen Text mit Euro-Zeichen aus der Datenbank zu holen und per PHP auszugeben, ohne dass dabei irgendein Konvertierungs-/Darstellungsfehler auftritt.

Ich hab schon diverse Zeichensätze durchprobiert, mit iconv hin und her konvertiert und sogar alle PHP-Skripte, Datenbankverbindung, Tabellen und Spalten auf UTF-8 gestellt, was allerdings zu einem grauenhaften Ergebnis geführt hat (Die PHP-Skripte haben verrückt gespielt, weil sie mit dem BOM am Dateianfang nicht zurechtkamen.)

Wie kann ich dafür sorgen, dass ein vom Benutzer z.B. in eine textarea eingegebenes Euro-Zeichen sauber in die Datenbank und zur Darstellung wieder raus kommt?

EDatabaseError 28. Dez 2007 16:20

Re: [PHP/MySQL] Euro-Zeichen
 
Hast du schon probiert das € durch den HTML Code für Euro zu ersetzen um diesen in der DB abzuspeichern...

//edit:
euro = €

Bernhard Geyer 28. Dez 2007 16:26

Re: [PHP/MySQL] Euro-Zeichen
 
UTF-8 wäre schon eine möglichkeit, aber was willst du hier mit einem BOM? Ist vollkommmen überflüssig.

bigg 28. Dez 2007 16:30

Re: [PHP/MySQL] Euro-Zeichen
 
Hi 3_of_8,

es gibt dafür spezielle Funktionen, die diese Sonderzeichen ersetzen.
http://www.php.net/htmlspecialchars

quendolineDD 28. Dez 2007 16:53

Re: [PHP/MySQL] Euro-Zeichen
 
Ich würd dir generell raten, alle Sonderzeichen in einem Text durch ein Skript in die HTML-Codierung zu formatieren.

3_of_8 28. Dez 2007 18:42

Re: [PHP/MySQL] Euro-Zeichen
 
Das Problem ist ja, dass der Benutzer das ganze eingeben soll, z.B. per textarea. Ich könnte jetzt schon bei der Eingabe das € durch € ersetzen, aber dann schlägt mein Parser zu und maskiert die Zeichen, wenn sie wieder ausgelesen werden sollen. htmlspecialchars() benutzt übrigens ISO-8859-1, und da ist kein Euro-Zeichen drin, also wird es auch nicht maskiert. Und selbst wenn, dann wäre es schon zu spät, weil nämlich beim Wiederauslesen aus der Datenbank das Zeichen schon verunstaltet ist.

@Bernhard_Geyer: Das BOM wird beim Abspeichern des Skriptes als UTF-8 automatisch hinzugefügt. Und, wie gesagt, mit UTF-8 hats irgendwie auch nicht geklappt, ich habe alles umgestellt und trotzdem ist ein komplett anderes Zeichen angekommen.

Bernhard Geyer 28. Dez 2007 19:21

Re: [PHP/MySQL] Euro-Zeichen
 
Zeig doch mal ein paar Beispiel was bei Sonderzeichen in der DB ankommt und bei dir wieder in PHP. Evtl. wird ein paar mal Umcodierung zu oft angewandt.

bigg 28. Dez 2007 19:33

Re: [PHP/MySQL] Euro-Zeichen
 
Du sollst ja auch nur für die Ausgabe der Zeichen die Konvertierung durchführen. Die Eingabe bleibt unangetastet in der Datenbank, das ist zumindest immer meine Empfehlung. Wenn du Unicode benutzt, sollte die PHP-Erweiterung "mbstring" aktivert sein. Wie sieht es bei dir mit der Kodierung "Latin1" aus?

Ansonsten poste doch mal deine Konfiguration: PHP-Version, SQL-Version, Frontends, etc.

3_of_8 28. Dez 2007 22:23

Re: [PHP/MySQL] Euro-Zeichen
 
PHP: 5.2.4
MySQL: 5.0.51
Frontends: PHPMyAdmin, Version unbekannt, die PHP-Skripts der Webseite sind von mir

MySQL-Verbindungs-Zeichensatz: utf-8
MySQL-Zeichensatz: utf-8 (Per PHPMyAdmin kann ich ein €-Zeichen einfügen und wieder auslesen)
Charset der HTML-Seite: utf-8 (€-Zeichen wird durch ? ersetzt, bei iso-8859-15 das gleiche)

Achja, und, mbstring ist aktiviert.

bigg 29. Dez 2007 14:00

Re: [PHP/MySQL] Euro-Zeichen
 
moin,

wenn es mit phpmyadmin funktioniert, wird dein Eingabe-Formular einen Fehler verursachen. Vielleicht hast du einfach nur eine falsche Post-Methode für dein Formular gewählt. Poste mal dein Formular und den Insert-Teil.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:45 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz