2011-06-08 8 views
5

Tablo harmanlamam "utf8_general_ci" dir. ... myField = "foo" ... myField = "FOO"MySQL DB, kayıtları umlauts ile ve olmadan seçer. e.g: '.. nerede bir şey = FÖÖ'

geçerli: myField = "foo" i sonuç almak

nerede NEREDEN mytable GELEN SEÇ * i gibi bir sorgu çalıştırırsanız Bu "utf8_general_ci" için varsayılan mı? Hangi sıralamayı sadece myfield = "FÖÖ" olduğu kayıtlar için kullanmalıyım? peşin

+1

[MySQL treats ÅÄÖ, AAO ?!] 'nın muhtemel iki kopyasını (http://stackoverflow.com/questions/2607130/mysql-treats-aao-as-aao) –

cevap

2

Unicode karakter setleri için MySQL tarafından sunulan alfabe listesi içinde

thnx burada bulunabilir:

http://dev.mysql.com/doc/refman/5.0/en/charset-unicode-sets.html

Eğer bütün gücünü kullanmak istiyorum ve olmaya dizeleri gerektiriyorsa kesinlikle aynı eşit olarak test etmek için utf8_bin (ikili harmanlama) kullanabilirsiniz. Aksi takdirde, teklif edilen farklı yazımlarla bazı denemeler yapmanız gerekebilir.

+0

thnx. utf8_bin problemi çözer –

3
SELECT * FROM table WHERE some_field LIKE ('%ö%' COLLATE utf8_bin) 
+1

Sorunu çözen bir kod verilirken, aynı zamanda, okumaya devam etmenin en azından kısa bir açıklamasını vermek de önemlidir; böylece, okumaya devam eden insanlar, farklılıkların anlaşılması için, zihinsel olarak, onu lineer olarak ayrıştırmak zorunda kalmazlar. – Fluffeh

+1

cevabı, mr şeytandan geldi, açıklamaya gerek yok. – MilMike

+0

ERROR 1253 (42000): COLLATION 'utf8_bin' CHARACTER SET 'utf8mb4' için geçerli değil. – donquixote

0

İskandinav harfleri için utf8_swedish_ci köknar örneğini kullanabilirsiniz.

İşte utf8_swedish_ci için karakter gruplandırması. Hangi karakterlerin aynı şekilde yorumlandığını gösterir. http://collation-charts.org/mysql60/mysql604.utf8_swedish_ci.html

Diğer harmanlamalar için dizin listesi aşağıdadır. Eminim kullanılan utf8_general_ci hangisi emin değilim.

İlgili konular