It should be a collation issue. mysql> set names utf8; Query OK, 0 rows affected (0.00 sec)
mysql> select 'm n'='men'; +--------------+ | 'm n'='men' | +--------------+ | 1 | +--------------+ 1 row in set (0.00 sec) You might want to use the SELECT BINARY operator: mysql> select binary 'm n'='men'; +---------------------+ | binary 'm n'='men' | +---------------------+ | 0 | +---------------------+ 1 row in set (0.00 sec) Or set the default collation for the table in question. With utf8_general_ci, which transliterates non-ascii characters: mysql> create table test (a varchar(8), b varchar(8)) character set utf8 collate utf8_general_ci; Query OK, 0 rows affected (0.07 sec) mysql> insert into test values (' ', 'e'); Query OK, 1 row affected (0.00 sec) mysql> select * from test where a=b; +------+------+ | a | b | +------+------+ | | e | +------+------+ 1 row in set (0.00 sec) With binary collation: mysql> alter table test character set utf8 collate utf8_bin; Query OK, 0 rows affected (0.09 sec) Records: 0 Duplicates: 0 Warnings: 0 mysql> insert into test values (' ', 'e'); Query OK, 1 row affected (0.00 sec) mysql> select * from test where a=b; Empty set (0.00 sec) Or set binary collation only for the filed which will contain unicode chars: mysql> create table test (a varchar(8) collate utf8_bin, b varchar(8)) character set utf8 collate utf8_general_ci; Query OK, 0 rows affected (0.08 sec) mysql> insert into test values (' ', 'e'); Query OK, 1 row affected (0.00 sec) mysql> select * from test where a=b; Empty set (0.00 sec) You can find the manual pages for MySQL collations and related issues here http://dev.mysql.com/doc/refman/4.1/en/charset-collations.html Ludo On Aug 22, 12:28 pm, mezhaka <[EMAIL PROTECTED]> wrote: > Hi djangers! > > I've accidentally bumped into an IntegrityError problem as I added > unique_together = (("word", "language"),) > to my Keyword class. > Debugging the problem I was surprised to discover the following > behavior in MySQL shell: > > mysql> select 'm n'='man'; > +--------------+ > | 'm n'='man' | > +--------------+ > | 1 | > +--------------+ > > So it seems like MySQL cannot tell the difference between those m n > and man?! That sounds weird. It might be some MySQL options I need to > set. > Can anyone point me to some docs were I can dig for the answer? Or > just had the same issue? --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/django-users?hl=en -~----------~----~----~----~------~----~------~--~---