Anzeige - [Interessiert an einer Anzeige?]
(?) Tags raten (?) (edit)
 
Reply to this topicStart new topicStart Poll
> Mysql Umlautsuche
MarkusH
Geschrieben am: Mi 2.04.2008, 09:06
Report PostQuote Post

AyomRank 4
********

Gruppe: Member (aktiv)
Beiträge: 78
Mitglied seit: 2.11.2006


Hallo,

in einer UTF8 codierten Datenbank (MySQL) liegen die Umlaute korrekt codiert im Klartext vor. Wenn ich jetzt nach "Mull" suche, werden mir leider auch Ergebnisse mit "Müll" angezeigt, was nicht so ganz im Sinne meiner Suche ist :-D

Mir sind die COLLATE und CONVERT-Funktionen zwar bekannt, aber leider stehe ich doch mit Ihnen etwas auf Kriegsfuß.

Wie müßte meine Query aussehen, damit ich bei der Suche nach "Mull" keinen "Müll" finde und umgekehrt?

So siehts im Moment aus:
"SELECT * FROM `data_mitarbeiter_auskunft`WHERE `nachname` LIKE '%Mull%'"

Grüße
Top
PM
Top
 
 
jAuer
Jürgen Auer - freiberufl. Programmierer
#2 Geschrieben am: Mi 2.04.2008, 09:41 (+00:34)
Report PostQuote Post

AyomRank 9
Group Icon

Gruppe: Experten Entwicklung
Beiträge: 2089
Mitglied seit: 4.02.2006


Kleines MS-SqlServer-Beispiel:

CODE
1> Create Table myText (id int Identity(1, 1) Primary Key, Text1 nvarchar(50) Collate Latin1_General_BIN, Text2 nvarchar(50) Collate Latin1_General_CI_AI)
2> go
1> Insert Into myText(Text1, Text2) Values ('Müll', 'Müll')
2> go

(1 Zeilen betroffen)
1> select * From myText Where Text1 = 'Mull'
2> go
id          Text1                                              Text2

----------- -------------------------------------------------- -----------------
---------------------------------

(0 Zeilen betroffen)
1> select * From myText Where Text2 = 'Mull'
2> go
id          Text1                                              Text2

----------- -------------------------------------------------- -----------------
---------------------------------
         1 Müll                                               Müll


(1 Zeilen betroffen)
1>


Analog müßte das in mySql gehen.

Sprich: Es hängt von der Sortierung ab.
Latin1_General_BIN vergleicht binär -> 'u' != 'ü'.
Latin1_General_CI_AI vergleicht ohne Berücksichtigung Groß/Klein, Akzent: 'u' = 'ü'

Bei Abfragen kann man die Spalte über die Collate - Klausel temporär mit einer anderen Sortierung ansprechen:

CODE
Where Text1 = 'Mull' Collate Latin1_General_CI_AI



Details vergesse ich aber auch immer, da muß man in der entsprechenden Doku nachgucken, wobei die von Microsoft auch für andere Db-Systeme gelten dürfte (weil die Sortierungsnamen international genormt sind).

Es gibt dann auch noch die 'German_Phonebook' - Sortierung, da gibt es nochmals Unterschiede, ob äöü nach aou oder alle nach z kommen.


--------------------
Web-Anwendung 3.0: Ein Online-Kalender für Termine vieler Filialen.

server-daten: Web-Datenbanken als Online - CRM - Lösung.
Konzentrieren Sie sich auf Ihr Kerngeschäft - nutzen Sie eine schlanke, schnelle Online-Datenbank von verschiedenen Standorten.
Top
PMEmail PosterUsers Website
Top
 
MarkusH
#3 Geschrieben am: Mi 2.04.2008, 11:47 (+02:06)
Report PostQuote Post

AyomRank 4
********

Gruppe: Member (aktiv)
Beiträge: 78
Mitglied seit: 2.11.2006


Danke SQL-Gott. utf8_general_ci-Feld hab ich mit 'COLLATE utf8_bin' umcodiert. Klappt *thumbup*

Grüße und danke nochmal
Top
PM
Top
 
Thema wird von 0 Benutzer(n) gelesen (0 Gäste und 0 anonyme Benutzer)
0 Mitglieder:
Trackback-Url: http://www.ayom.com/track/t/23792

Topic Options Reply to this topicStart new topicStart Poll

 


> Ähnliche Themen
mysql too many connections Tuemmel 268 14 Mo 30.06.2008, 17:28
Problem mit MySQL nd UNIQUE TTlong 75 2 So 29.06.2008, 09:10
MySQL-Abfrage optimieren Logigoo 219 6 Do 26.06.2008, 12:41
MySQL Profi gegen Bezahlung gesucht Ronald Nickel 107 0 Mo 23.06.2008, 13:10
MySQL: Vergleichsoperatoren cr4m0 185 7 Mo 9.06.2008, 20:39
[S] erfahrenen PHP/mysql-Programmierer flown 96 0 Sa 7.06.2008, 21:03
Suche: PHP & Mysql Programmierer WebEbene 80 0 Fr 6.06.2008, 15:40
mySQL Dump aus Access Datenbank Big Rob 166 4 Mo 2.06.2008, 22:19
MySQL-Abfrage geht nicht? pl_90 350 18 Mo 26.05.2008, 13:37
mySQL Charset Problem blubdiblub 126 3 So 27.04.2008, 08:54




Anzeige - [Interessiert an einer Anzeige?]



Anzeigen




cyon Webhosting



[Interessiert an einer Anzeige?]