| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |

06-11-2010, 12:11
|
|
Hendrik33
Registrierter Benutzer
|
|
Registriert seit: Aug 2010
Beiträge: 70
|
|
Sonderzeichen kippen um
Hallo,
wenn ich etwas in die Datenbank schreibe über einen einfachen INSERT Befehl passiert folgendes:
Ich tippe ein ♥
und in der Datenbank steht nur ein ?
An was liegt das?
lg
hendrik
|

06-11-2010, 12:13
|
wahsaga
 Moderator
|
|
Registriert seit: Sep 2001
Beiträge: 24.486
|
|
An falsch gewählter Zeichenkodierung, oder falschem Umgang damit.
Das ist ein wirklich oft diskutiertes Thema - bitte versuche erst mal, dich selber ein bisschen darüber zu informieren.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
|

06-11-2010, 12:47
|
|
Hendrik33
Registrierter Benutzer
|
|
Registriert seit: Aug 2010
Beiträge: 70
|
|
Ich habe folgende Kodierungen:
Script UTF8
SQL UTF8
An was kann das sonnst noch liegen?
|

06-11-2010, 13:04
|
|
combie
PHP Expert
|
|
Registriert seit: May 2006
Beiträge: 2.925
|
|
An der falschen Codierung in der DB Verbindung.
Die steht noch auf iso-irgendwas.
Außerdem:
Script UTF8 <<-- gibts nicht! besser utf-8
SQL UTF8 <<-- richtig! noch besser utf8
Und nein, das ist keine übertriebene Pingeligkeit
Geändert von combie (06-11-2010 um 13:06 Uhr)
|

06-11-2010, 14:50
|
|
Hendrik33
Registrierter Benutzer
|
|
Registriert seit: Aug 2010
Beiträge: 70
|
|
Zitat:
Zitat von combie
An der falschen Codierung in der DB Verbindung.
Die steht noch auf iso-irgendwas.
Außerdem:
Script UTF8 <<-- gibts nicht! besser utf-8
SQL UTF8 <<-- richtig! noch besser utf8
Und nein, das ist keine übertriebene Pingeligkeit 
|
Das gleiche habe ich doch oben gepostet. Und nein die DB Verbindung ist UTF-8 als Zeichensatz
|

06-11-2010, 15:06
|
|
combie
PHP Expert
|
|
Registriert seit: May 2006
Beiträge: 2.925
|
|
Zitat:
|
Das gleiche habe ich doch oben gepostet.
|
Nein!
Meinst du, ich habe die Anmerkungen da nur aus Spaß hin gemacht?
Zitat:
|
Und nein die DB Verbindung ist UTF-8 als Zeichensatz
|
Den gibts da aber gar nicht!!  
Bestenfalls utf8
|

07-11-2010, 09:43
|
|
Hendrik33
Registrierter Benutzer
|
|
Registriert seit: Aug 2010
Beiträge: 70
|
|
Ist utf-8 und utf8 nicht das gleiche??!?
|

07-11-2010, 09:59
|
|
combie
PHP Expert
|
|
Registriert seit: May 2006
Beiträge: 2.925
|
|
Zitat:
Zitat von Hendrik33
Ist utf-8 und utf8 nicht das gleiche??!?
|
Nein, ist es nicht!
Es ist das Selbe, aber nicht das Gleiche!
 
Beachte:
1. In den PHP, HTML und HTTP Spezifikationen ist immer nur von utf-8 die Rede. Und die betreffende Software erwartet auch utf-8! Alle anderen Schreibweisen werden ignoriert, oder als Fehler erkannt. Ob groß oder klein geschrieben, ist meist egal (aber nicht unbedingt immer).
2. In der MySQL Doku ist nur von utf8 die Rede. Die Angabe von utf-8 wird nicht von diesem DBMS akzeptiert.
|

07-11-2010, 10:46
|
|
eagle275
Registrierter Benutzer
|
|
Registriert seit: Jun 2010
Beiträge: 371
|
|
da hast du noch einen vergessen
Script utf-8 ... -> ist das Script selbst als utf-8 Datei ohne BOM gespeichert ?
Welche Codierung sendest du zum Browser (per Meta-Header)?
__________________
Wer LESEN kann, ist klar im Vorteil!
|

07-11-2010, 20:21
|
|
Hendrik33
Registrierter Benutzer
|
|
Registriert seit: Aug 2010
Beiträge: 70
|
|
Ist alles auf utf8 die datei kodierung selbst und der header auch
Code:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|

07-11-2010, 23:16
|
|
eagle275
Registrierter Benutzer
|
|
Registriert seit: Jun 2010
Beiträge: 371
|
|
womit prüfst du denn , dass in der Datenbank statt deines "Herzchen" ein ? auftaucht? phpmyadmin ? der hat auch ne Sprachkonfig - evtl sendet der noch auf ISO....
lies es mit deinem PHP script aus und schau dir an, was dann in Formularfelder oder so eingetragen wird
__________________
Wer LESEN kann, ist klar im Vorteil!
|

08-11-2010, 07:46
|
|
Hendrik33
Registrierter Benutzer
|
|
Registriert seit: Aug 2010
Beiträge: 70
|
|
In phpmyadmin steht ein ?
wenn ich es auslese per sql und auf meiner seite ausgebe ist es auch ein ?
|

08-11-2010, 08:19
|
|
eagle275
Registrierter Benutzer
|
|
Registriert seit: Jun 2010
Beiträge: 371
|
|
dann machst du irgendwas anders ..
ich hab eben bei mir mal getestet ..
eingegeben: ♥
, gespeichert - wieder ausgelesen -
Ausgabe in meinem Formular: ♥
- ich kann das Herzchen sogar als Suchparameter in meinem Suchformular benutzen und er findet den Datensatz, wo ich es testweise gespeichert habe
kontrollier bitte nochmal, ob wirklich alles auf utf8 steht
Script-Codierung (bei mir ANSI as UTF-8 ohne BOM)
Webseite (welche Codierung im Browser ? Unicode (UTF-8)) - bei mir "wollte" der erst nicht mit einfachem html-meta header .. habe es dann als PHP-header gesendet und ab da lief es rund
Datenbank - Collation (utf8_general_ci / utf8_bin / utf8_german_ci)
Verbindung zur Datenbank (mysql_query("SET CHARACTER SET 'utf8'", $connection);
Eintragung von Strings mit mysql_real_escape_string , auslesen bzw anzeigen im Formular mit htmlspecialchars( )
??
__________________
Wer LESEN kann, ist klar im Vorteil!
Geändert von eagle275 (08-11-2010 um 08:26 Uhr)
|

08-11-2010, 09:06
|
|
combie
PHP Expert
|
|
Registriert seit: May 2006
Beiträge: 2.925
|
|
Zitat:
|
Datenbank - Collation (utf8_general_ci / utf8_bin / utf8_german_ci)
|
Die Collation ist für dieses Problem irrelevant, betrifft nur Suchen und Sortieren,
Aber der Spalten, Tabellen, Datenbank, Server CHARSET ist relevant
Siehe dazu: MySQL :: MySQL 5.1 Referenzhandbuch :: 10 Zeichensatz-Unterstützung
|

08-11-2010, 11:06
|
|
Hendrik33
Registrierter Benutzer
|
|
Registriert seit: Aug 2010
Beiträge: 70
|
|
Danke für Eure Hilfe und Geduld!
Es funktioniert jetzt!
Problem war der Charset in phpMyAdmin
er war auf latin1_swedish_ci
Habe das jetzt überall auf utf_general_ci gestellt
lg hendrik
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|