ü und y bei SELECT-Abfrage unterscheiden
Reto
- datenbank
Liebes Forum
Weiss jemand, wie ich ü und y bei einer SQL-SELECT-Abfrage unterscheiden kann?
(Wenn ich in einem Feld nach 'ü' suche, liefert die Abfrage sowohl die Einträge mit 'ü', als auch mit 'y'.
Das Attribut BINARY möchte ich nicht verwenden, da Gross- und Kleinschreibung nicht berücksichtigt werden soll.
Besten Dank und viele Grüsse
Reto
Weiss jemand, wie ich ü und y bei einer SQL-SELECT-Abfrage unterscheiden kann?
(Wenn ich in einem Feld nach 'ü' suche, liefert die Abfrage sowohl die Einträge mit 'ü', als auch mit 'y'.
Um welche Datenbank (inkl. Versionsnummer) gehts denn? Ich tippe mal auf MySQL. In der Standardeinstellung sortiert MySQL schwedisch. Je nach Version kann/muss man das unterschiedlich einstellen.
Um welche Datenbank (inkl. Versionsnummer) gehts denn? Ich tippe mal auf MySQL. In der Standardeinstellung sortiert MySQL schwedisch. Je nach Version kann/muss man das unterschiedlich einstellen.
Ja, MySQL 3.23.55-nt . Wie kann ich die Spracheinstellung ändern? Kann ich das mit einer SQL-Anweisung aus dem PHP-Script machen?
Danke und Grüsse
Reto
Ja, MySQL 3.23.55-nt . Wie kann ich die Spracheinstellung ändern? Kann ich das mit einer SQL-Anweisung aus dem PHP-Script machen?
In der Dokumentation zu deiner Version hab ich dies gefunden:
(Abschnitt: MySQL Localisation and International Usage)
To get German sorting order, you should start mysqld with --default-character-set=latin1_de.
Und dies (Abschnitt: SET Syntax):
SET [GLOBAL | SESSION] sql_variable=expression
Sowie:
Here follows a description of the variables that uses a the variables that uses a non-standard SET syntax and some of the other variables. [...]
CHARACTER SET character_set_name | DEFAULT
This maps all strings from and to the client with the given mapping. Currently the only option for character_set_name is cp1251_koi8, but you can easily add new mappings by editing the `sql/convert.cc' file in the MySQL source distribution. The default mapping can be restored by using a character_set_name value of DEFAULT. Note that the syntax for setting the CHARACTER SET option differs from the syntax for setting the other options.
Vielen Dank!
In der Dokumentation zu deiner Version hab ich dies gefunden:
(Abschnitt: MySQL Localisation and International Usage)To get German sorting order, you should start mysqld with --default-character-set=latin1_de.
Wo kann ich das ändern?
Danke für deine Hilfe
Grüsse
Reto
To get German sorting order, you should start mysqld with --default-character-set=latin1_de.
Wo kann ich das ändern?
Das sollte entweder im Startscript eingetragen werden (macht man eher nicht so) oder in der my.cnf (schon besser). Dort als eine neue Zeile im Abschnitt [mysqld] einfügen (dann die -- vom Anfang weglassen). Vergiss nicht, den MySQL-Server danach neu zu starten.
Vielen Dank für deine Antwort.
Das sollte entweder im Startscript eingetragen werden
Was meinst du mit Startscript? PHP-Script?
oder in der my.cnf (schon besser). Dort als eine neue Zeile im Abschnitt [mysqld] einfügen (dann die -- vom Anfang weglassen).
Ich finde bei mir leider keine Datei mit diesem Namen (my.cnf). In welchem directory sollte die sein?
Vielen Dank und Grüsse
Reto
Das sollte entweder im Startscript eingetragen werden
Was meinst du mit Startscript? PHP-Script?
Das ist das Shellscript, das den MySQL-Server startet.
Ich finde bei mir leider keine Datei mit diesem Namen (my.cnf). In welchem directory sollte die sein?
Linux: Eigentlich irgendwo unter /etc, /etc/mysql, o.ä.
Windows: unter {mysql_install_dir}\bin
Ich finde bei mir leider keine Datei mit diesem Namen (my.cnf). In welchem directory sollte die sein?
Windows: unter {mysql_install_dir}\bin
Hmm... ich habe auf dem ganzen Computer keine Datei mit diesem Namen gefunden.
» » » Ich finde bei mir leider keine Datei mit diesem Namen (my.cnf). In welchem directory sollte die sein?
Windows: unter {mysql_install_dir}\bin
Hmm... ich habe auf dem ganzen Computer keine Datei mit diesem Namen gefunden.
Aha... wie ich eben sehe, gibts da noch ein paar andere Möglichkeiten.
In der 3.23.55, sagt die Doku, wird erst nach einer my.ini im Windowsverzeichnis gesucht und danach die my.cnf in c:\
Bei einem frisch installiertes MySQL 3.23.55 unter Windows fand ich auch keine my.*
Die winmysqladmin.exe hat dann freundlicherweise eine my.ini ins windows-Verzeichnis gesetzt.
Doch leider konnte ich keinen Erfolg verbuchen.
Das Handbuch scheint zu schwindeln. Mit default-character-set=latin1_de, wie in Kapitel 4.6.1.1. angegeben, arbeitet der mysqld-nt nicht. Er hängt sich irgendwo hin.
"show variables" zeigt in character-sets u.a. nur latin1 aber auch german1 an.
Aber weder das eine noch das andere sortiert wie gewünscht, immer nur: musik, mysql, müller
Hier weiß ich nicht mehr weiter. Ich hab dann nur noch dies hier gefunden:
http://mysql-faq.sourceforge.net/tables3.html
http://www.php-faq.de/q/q-mysql-umlaute-sortieren.html
Tut mir leid...
Tut mir leid...
Hmmm.. ich kriege es auch nicht hin. Vielleicht muss ich halt doch das Attribut "BINARY" verwenden, obwohl dann Gross- und Kleinschreibung berücksichtigt wird.
Danke auf jeden Fall für deine Bemühung.
Grüsse
Reto