Varchar для UTF-8? - PullRequest
       25

Varchar для UTF-8?

3 голосов
/ 04 сентября 2010

Я нашел похожий пост об этом, но все еще не уверен.

Поскольку я делаю свою гостевую книгу и т. Д. На нескольких языках, я изменил параметры сортировки на uft8_unicode_ci в mysql, все работает как надо, что-то, чтоЯ не думал о том, какой тип я использую, моя гостевая книга многоязычная, и в поле имени пользователь не может ввести более 50 символов, то же самое для темы и 800 символов для сообщения в гостевой книге.

Теперь делаем этопроверка в PHP прямая т.е.проверка длины строки с использованием mb_ перед строкой и т. д.

Но я обеспокоен тем, что данные могут быть усечены в mysql.Очевидно, что нормальные символы будут в порядке, но когда это китайские и другие нестандартные символы, очевидно, это меня беспокоит, так как я не знаю, как их вычислит varchar.

1 Ответ

4 голосов
/ 04 сентября 2010

Начиная с mySQL 4.1, VARCHAR считается символами вместо байтов.

Можно безопасно указать тип VARCHAR(255) для поля сообщения, которое должно содержать 255 символов.

...