在处理大量数据时,我遇到了这个奇怪的错误...
Error Number: 1267
Illegal mix of collations (latin1_swedish_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='
SELECT COUNT(*) as num from keywords WHERE campaignId='12' AND LCASE(keyword)='hello again 昔 ã‹ã‚‰ ã‚ã‚‹ å ´æ‰€'
我能做些什么来解决这个问题?我可以以某种方式转义字符串,这样就不会发生这个错误,或者我是否需要以某种方式更改我的表编码,如果需要,我应该将其更改为什么?
发布于 2009-06-17 16:59:11
SET collation_connection = 'utf8_general_ci';
然后对于您的数据库
ALTER DATABASE your_database_name CHARACTER SET utf8 COLLATE utf8_general_ci;
ALTER TABLE your_table_name CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;
MySQL有时会无缘无故地偷偷带上瑞典语。
发布于 2018-04-23 19:08:04
CONVERT(column1 USING utf8)
解决了我的问题。其中,column1是给出此错误的列。
发布于 2009-06-17 16:59:45
您应该将表编码和连接编码都设置为UTF-8
ALTER TABLE keywords CHARACTER SET UTF8; -- run once
和
SET NAMES 'UTF8';
SET CHARACTER SET 'UTF8';
https://stackoverflow.com/questions/1008287
复制相似问题