0

На основании http://www.i18nqa.com/debug/utf8-debug.html Я хочу выполнить поиск в моей таблице MySQL, чтобы узнать, есть ли у меня строки с проблемами кодирования.Специальные символы выбирают проблемы с MySQL

Если я запускаю следующий запрос:

select t.col1 from table t where t.col1 like '%Ú%' 

это принесет все t.col1, которые имеют «как» символы в них.

Как я могу изменить запрос, чтобы он получал только строки, содержащие «% Ú%», и не все, содержащие «% as%».

+0

Это может помочь: http://stackoverflow.com/a/14007477 –

+0

Если вы хотите случай складывания, но чувствительность акцент, пожалуйста, подать заявку по адресу: // ошибки .mysql.com. –

ответ

1

попробовать это, если вы используете сверку latin1_swedish_ci

select t.col1 from table t where t.col1 regexp '^[Ú]'; 
+0

Обратите внимание, что 'REGEXP' является довольно хромым - он не понимает наборы символов, а только байты. Таким образом, Хассанд использует это, чтобы работать. –

0

С сортировки MySQL, случай-откидными и акцент зачистки вместе.

Если вы не хотите ни одного, используйте настройку ..._bin для набора символов, который вы используете.

WHERE foo LIKE '%Ú%' COLLATE utf8_bin 

Еще быстрее будет объявить foo быть COLLATE utf8_bin вместо того, что вы имеете. (Примечание: по умолчанию для utf8 является utf8_general_ci.)

+0

Просто протестировал его, и он работает. – Marius

Смежные вопросы