php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 31.03.2009, 22:37  
Neuer Benutzer
 
Registriert seit: 31.03.2009
Beiträge: 7
Oger befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] Kann keine Umlaute im mysql client eingeben

Hallo erstmal

ich kann in meinem mysql Client keine Umlaute eingeben. Leider laufen alle Ergebnisse, die ich bei meiner Suche gefunden habe in eine andere Richtung (falsche Darstellung von Daten oder Probleme bei der Übergabe von Umlauten).

Also nochmal zurück zu meinem Problem:
Ich verwende mysql 4.1.22 auf einer NSLU2 (Unslung). Server, Datenbank & Tabellen verwenden UTF8 als Charset.
Ich verbinde mich per ssh (PuTTY) auf die NSLU2 und kann in der Shell auch Umlaute eingeben. Wenn ich den mysql client starte, dann hat es sich aber mit der Eingabe von Umlauten erledigt. Bei der Eingabe eines 'ü' wird der erste Befehl aus mysql_history angezeigt. Bei der EIngabe eines 'ö' wechselt der Prompt von "mysql >" auf "(arg: 6)". Sobald ich dann ein Zeichen eingebe wechselt der prompt wieder auf "mysql >" und das eingegebene Zeichen steht 6x dahinter.
Somit ist es mir nicht möglich, UPDATE oder INSERT Statements abzusetzen, wenn im EIngabestring ein Umlaut enthalten ist.
Über PHP-Seiten habe ich keine Probleme Strings mit Umlauten in die Datenbank einzufügen.

Hier noch ein paar Infos zur Umgebung
Code:
mysql> show variables like "character%";
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |
| character_set_connection | utf8                       |
| character_set_database   | utf8                       |
| character_set_results    | utf8                       |
| character_set_server     | utf8                       |
| character_set_system     | utf8                       |
| character_sets_dir       | /opt/share/mysql/charsets/ |
+--------------------------+----------------------------+
7 rows in set (0.00 sec)
Beispielhafte Ausgabe im mysql client (Daten habe ich über PHP Frontend eingefügt):
Code:
mysql> select * from spieler where id >= 10;
+----+----------+-------+
| id | name     | email |
+----+----------+-------+
| 10 | Test     | NULL  |
| 11 | Jürgen2  | NULL  |
| 16 | AAä      | NULL  |
+----+----------+-------+
3 rows in set (0.01 sec)
Hoffe mal, dass mein Problem verständlich ist. Bin für jeden Hinweis dankbar.

Meine erste Vermutung war ja, dass es mit PuTTY zusammenhängt. Da ich aber in der Linux Shell wie gewohnt Umlaute absetzen kann, will ich PuTTY mal ausschließen.

Gruß Markus
Oger ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 31.03.2009, 23:53  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

Welche Ausgabe erhälst Du, wenn Du in der sehll
Code:
echo $LANG
eingibst?
Und wenn Du bei Putty auf die Titelzeile rechtsklickst, change settings, window, translation auswählst, was steht da bei "received data assumed...." ?
David ist offline   Mit Zitat antworten
Alt 01.04.2009, 09:56  
Neuer Benutzer
 
Registriert seit: 31.03.2009
Beiträge: 7
Oger befindet sich auf einem aufstrebenden Ast
Standard

Putty steht auch auf UTF8

Code:
echo $LANG
liefert keinen Output, will sagen die Variable ist nicht gesetzt.

Habe LANG dann mal mit
Code:
export LANG=de_DE.UTF-8
gesetzt. MySQL CLient zeigt aber immer noch das gleiche Verhalten.
Oger ist offline   Mit Zitat antworten
Alt 01.04.2009, 18:07  
Neuer Benutzer
 
Registriert seit: 31.03.2009
Beiträge: 7
Oger befindet sich auf einem aufstrebenden Ast
Standard

Hatte in der Zwischenzeit noch die Gelegenheit einen weiteren Test durchzuführen.

SSH von einer Linuxkiste auf die NSLU2. Gleiches Verhalten wie beim Windowsclient mit PuTTY. Damit kann man wohl PuTTY als Ursache erstmal ausschließen.
Oger ist offline   Mit Zitat antworten
Alt 01.04.2009, 18:33  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

Teste den Export von $LANG nochmal mit
Code:
locale
in der Konsole (hoffentlich hast Du das überhaupt auf der NSLU2).
Und wenn da tatsächlich utf-8 angezeigt wird, solltest Du auch mysql mit --default-character-set=utf8 aufrufen.
David ist offline   Mit Zitat antworten
Alt 01.04.2009, 20:04  
Neuer Benutzer
 
Registriert seit: 31.03.2009
Beiträge: 7
Oger befindet sich auf einem aufstrebenden Ast
Standard

locale kennt die NSLU2 nicht. Zumindest noch nicht, muss mal schauen, ob ich ihr das beibringen kann.

Default Character Set für den Client habe ich bereits in der my.cnf definiert

Code:
[client]
#password       = your_password
port            = 3306
socket          = /tmp/mysql.sock
default-character-set=utf8
Ich denke, dass es auch nicht unbedingt was mit dem Characterset zu tun hat, da ich ja z.B. Umlaute in der DB bei einer Abfrage im mysql client richtig angezeigt bekomme. Es scheint mir vielmehr, dass die Sonderzeichen als irgend etwas anderes interpretiert werden. Wie im ersten Posting schon erwähnt "zaubert" mir ja die Eingabe von ü den ersten Befehl aus der mysql history herbei.
Oger ist offline   Mit Zitat antworten
Alt 01.04.2009, 22:01  
Erfahrener Benutzer
 
Benutzerbild von David
 
Registriert seit: 05.09.2007
Beiträge: 5.044
David wird schon bald berühmt werden
Standard

Na das ist dann doch ein Zeichensatzproblem. Du gibst ein ü ein und es wird als etwas anderes interpretiert.
David ist offline   Mit Zitat antworten
Alt 02.04.2009, 01:11  
Neuer Benutzer
 
Registriert seit: 31.03.2009
Beiträge: 7
Oger befindet sich auf einem aufstrebenden Ast
Standard

Ok, leuchtet mir ein, aber wenn der Character Set vom mysql client falsch ist, dann müsste doch auch die Anzeige bei einer SELECT Abfrage innerhalb des clients mit falschen Zeichen dargestellt werden.

Vielen Dank aber schonmal für deine Tipps und die Unterstützung.
Oger ist offline   Mit Zitat antworten
Alt 02.04.2009, 01:30  
Neuer Benutzer
 
Registriert seit: 31.03.2009
Beiträge: 7
Oger befindet sich auf einem aufstrebenden Ast
Standard

Habe gerade die bash auf der NSLU2 installiert. Die bash zeigt das gleiche Verhalten wie der Mysql client, d.h. ü holt mir den ersten eintrag aus der History (diesmal natürlich bash_history), bei ö wechselt der prompt auf (arg: 6).

Dann liegt das Problem wahrscheinlich nicht beim mysql client sondern beim Character Set der Shell.
Oger ist offline   Mit Zitat antworten
Alt 02.04.2009, 11:54  
Neuer Benutzer
 
Registriert seit: 31.03.2009
Beiträge: 7
Oger befindet sich auf einem aufstrebenden Ast
Standard

Ich habe noch ein bisschen bezüglich des Themas geforscht. So wie es scheint, unterstützt die NSLU2 (Unslung) nur ASCII-Zeichen. Vermute mal, dass sie in der Standardshell was gedreht haben, damit Umlaute angenommen werden.
Das Thema passt m.E. aber nicht in dieses Forum und ich werde das Thema daher mal als erledigt markieren.

@David: Vielen Dank nochmal für deine Unterstützung.
Oger ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

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 an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
MySQL Konsole und Umlaute unter Windows [LÖSUNG] f4ckm5 Datenbanken 8 30.03.2009 22:10
mysql query browser + umlaute gugu Datenbanken 10 28.03.2009 19:15
umlaute von php nach mysql aha_01 Datenbanken 3 05.03.2009 18:34
Umlaute in Datenbank MYSQL schreiben sebastian1986 Datenbanken 3 09.09.2008 16:01
MySQL: Like, Umlaute und was sonst noch passiert PsychoEagle Datenbanken 4 01.08.2008 18:36
zwischen den mysql ausgaben manuellen text eingeben Bonaparte PHP Tipps 2008 3 20.12.2007 21:05
webseite mysql umlaute und utf-8 nieselfriem PHP Tipps 2008 1 22.10.2007 00:04
MySQL Server startet nicht mehr richtig... Datenbanken 16 03.03.2006 19:40
[Erledigt] Umlaute in MySQL Datenbanken 1 21.08.2005 20:00
Suche Tipps für Persormance-Steigerung (Geld für Nützliches) Beitragsarchiv 18 16.08.2005 10:57
[Erledigt] Daten in Mysql eingeben und auf warteliste setzen. PHP Tipps 2005 7 05.05.2005 04:04
Suche MySQL - Client API Version 4.xx.xx Connar Datenbanken 0 05.03.2005 09:24
MYSQL trägt keine deutschen Umlaute ein. sharky PHP Tipps 2004-2 12 14.12.2004 08:00
MySQL Umlaute werden in PHP nicht richtig angezeigt PHP Tipps 2004 5 25.10.2004 20:36
MySQl akzeptiert keine Umlaute :( Datenbanken 6 20.08.2004 13:58

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
putty umlaute eingeben, mysql umlaute eingeben, mysql client umlaute, mysql umlaute einfügen, http://www.php.de/datenbanken/53614-erledigt-kann-keine-umlaute-im-mysql-client-eingeben.html, putty mysql umlaute, mysql like umlaute, mysql client utf8, mysql locale, umlaute in mysql einfügen, sql umlaute einfügen, mysql umlaute eintragen, mysql umlaute utf8, mysql client umlaut, putty hängt sich nach umlaut auf, putty ö arg 6, mysql client keine umlaute, ü in in mysql direkt eingeben, bash mysql update umlaute, charset mysql umlaute

Alle Zeitangaben in WEZ +2. Es ist jetzt 07:37 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum