Каким должно быть правильное хранилище сортировки MySql в этом случае? - PullRequest
0 голосов
/ 24 ноября 2011

Я храню строки в базе данных Mysql.

Некоторые строки имеют одинарные кавычки, которые затем сохраняются следующим образом:

peopleâ € ™ s

Это правильный способ хранения этих строк или я должен установить другую сортировку mysql?

Я попробовал следующее без удачи ....

utf8_general_ci

latin1_swedish_ci

1 Ответ

1 голос
/ 25 ноября 2011

Где вы устанавливаете параметры сортировки?Вы должны использовать UTF-8 в трех местах:

  1. в качестве сопоставления каждой строки, содержащей символьные данные.Вы можете установить параметры сортировки по умолчанию для таблицы или базы данных, чтобы новые столбцы могли ее использовать, но если у вас уже есть таблица, изменение ее параметров сортировки по умолчанию не изменит параметры сортировки существующих строк.

  2. как кодировка соединения между вашим приложением и MySQL.Это можно установить вручную с помощью оператора SET NAMES или, что лучше, с помощью подходящего вызова API для вашей среды (например, mysql_set_charset() в PHP или аргумент charset для connect() в Python MySQLdb).

  3. в вашем выводе.Например, при создании веб-страницы, используя заголовок / мета Content-Type: text/html;charset=utf-8.

Вы можете сохранить строку "People's" как UTF-8-hidden-in-Latin-1 "People's", используя повсюду Latin-1, так как вы все равно получите те же байты, что и вставили. Но в этом случае вы не получите ощутимых результатов от упорядочения или без учета регистра-сравнения не-ASCII символов.

...