AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

[PHP/MySQL] Euro-Zeichen

Ein Thema von 3_of_8 · begonnen am 28. Dez 2007 · letzter Beitrag vom 30. Dez 2007
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#1

[PHP/MySQL] Euro-Zeichen

  Alt 28. Dez 2007, 17:17
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?
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
EDatabaseError

Registriert seit: 11. Mai 2005
Ort: Göppingen
1.238 Beiträge
 
Delphi 2007 Professional
 
#2

Re: [PHP/MySQL] Euro-Zeichen

  Alt 28. Dez 2007, 17:20
Hast du schon probiert das € durch den HTML Code für Euro zu ersetzen um diesen in der DB abzuspeichern...

//edit:
euro = €
Tobias
It's not a bug, it's a feature.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: [PHP/MySQL] Euro-Zeichen

  Alt 28. Dez 2007, 17:26
UTF-8 wäre schon eine möglichkeit, aber was willst du hier mit einem BOM? Ist vollkommmen überflüssig.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von bigg
bigg

Registriert seit: 1. Jul 2007
155 Beiträge
 
#4

Re: [PHP/MySQL] Euro-Zeichen

  Alt 28. Dez 2007, 17:30
Hi 3_of_8,

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

Registriert seit: 19. Apr 2007
Ort: Dresden
781 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: [PHP/MySQL] Euro-Zeichen

  Alt 28. Dez 2007, 17:53
Ich würd dir generell raten, alle Sonderzeichen in einem Text durch ein Skript in die HTML-Codierung zu formatieren.
Lars S.
Wer nicht mit der Zeit geht, geht mit der Zeit.
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: [PHP/MySQL] Euro-Zeichen

  Alt 28. Dez 2007, 19:42
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.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#7

Re: [PHP/MySQL] Euro-Zeichen

  Alt 28. Dez 2007, 20:21
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.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von bigg
bigg

Registriert seit: 1. Jul 2007
155 Beiträge
 
#8

Re: [PHP/MySQL] Euro-Zeichen

  Alt 28. Dez 2007, 20:33
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.
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: [PHP/MySQL] Euro-Zeichen

  Alt 28. Dez 2007, 23:23
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.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Benutzerbild von bigg
bigg

Registriert seit: 1. Jul 2007
155 Beiträge
 
#10

Re: [PHP/MySQL] Euro-Zeichen

  Alt 29. Dez 2007, 15:00
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.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:16 Uhr.
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