character encoding - Why can't I use a specific collation in MySQL? -
i have table character set latin1 (checked show variables "character_set_database";) , default collation of latin1_swedish_ci (checked show table status;).
i'd run query using collation latin1_general_cs, compiled on system (checked show collation "%_cs";):
select * mytab col rlike '[[:upper:]]' collate 'latin1_general_cs' limit 10; which gives error:
error 1253 (42000): collation 'latin1_general_cs' not valid character set 'utf8' even default collation not work:
select * mytab col rlike '[[:upper:]]' collate 'latin1_swedish_ci' limit 10; error:
error 1253 (42000): collation 'latin1_swedish_ci' not valid character set 'utf8' whats wrong? because terminal sends data in utf-8? (is "connection in utf-8"?) how can anyway use case sensitive collation? need it, otherwise seems impossible check uppercase letters.
you may find interesting.
differences between utf8 , latin1
i can't i'm expert in area, far can see, utf8 , latin1 encode characters differently. trying collate utf8 using latin1 doesn't make sense.
http://dev.mysql.com/doc/refman/5.0/en/charset-applications.html
whereas:
create database mydb default character set utf8 default collate utf8_general_ci; is consistent.
update
sorry, re-read question , table using latin1. odd. have tried using utf8 collations?
Comments
Post a Comment