taras1978
@taras1978
почти программист

Кодировка базы данных для русскоязычного сайта Laravel?

Здравствуйте.
Подскажите, какую кодировку выбрать для нового проекта на LARAVEL. Выбрал раньше cp1251, но увидел что переданніе из формы записи в базе сохраняются кракозябрами. Возможно не все настроил.
Хочу пересоздать базу заново и выбираю правильную корировку, пишут что лучше utf8mb4_general_ci и utf8mb4_unicode_ci, подскажите что лучше.
  • Вопрос задан
  • 1522 просмотра
Решения вопроса 2
FanatPHP
@FanatPHP
Чебуратор тега РНР
Господи, ну нельзя же настолько буквально воспринимать вопросы.
Ну неужели из контекста непонятно, что автор спрашивает про кодировку, а не про набор правил сравнения?

Автор, кодировка, которая тебе нужна, называется utf8mb4. Вот её и ставь.
А набор правил сравнения подставится автоматически, и в целом без разницы, какой - utf8mb4_general_ci или utf8mb4_unicode_ci
Ответ написан
Комментировать
Kwinston
@Kwinston
Fullstack Web3 Developer
По производительности utf8mb4_unicode_ci немного медленнее, однако он надежнее и используется в документации (https://laravel.com/docs/8.x/database#configuration)5fc3ef608cbdb188899806.jpeg
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@Dalp
utf8mb4_unicode_ci использует все правила юникод для сравнения и сортировки.
utf8mb4_general_ci же игнорирует некоторые правила, благодаря чему работает немного быстрее. Разные бенчмарки показывают разные результаты, но в среднем utf8mb4_general_ci работает быстрее на 7.3%.
На современных процессорах эта разница практически незаметна, в то время как пренебрежение правилами может привести к ошибкам при обработке некоторых символов. Я не замечал проблем с латиницей/кириллицей, но я бы использовал utf8mb4_unicode_ci.
Ответ написан
@galaxy
В гугле не быстрее было спросить?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы