UTF-8 и расширение mbstring в php - PullRequest
       22

UTF-8 и расширение mbstring в php

1 голос
/ 03 декабря 2009

Когда я конвертировал свою латинскую базу данных mysql в utf-8, я наткнулся на эту статью (http://developer.loftdigital.com/blog/php-utf-8-cheatsheet)

обратите внимание Я успешно преобразовал свою базу данных, и мое приложение работает / выводится правильно

В упомянутой выше ссылке говорится об установке и использовании расширения и функций mbstring. В этом нет необходимости, это то, что я должен учитывать, игнорировать или делать?

Заранее спасибо!

Ответы [ 2 ]

3 голосов
/ 03 декабря 2009

Вы (вероятно) столкнетесь с проблемами при использовании функций манипуляции со строками теперь, когда все в UTF-8. Этого можно избежать, если вы включите опцию «mbstring.func_overload», которая будет переопределять встроенные функции PHP на функции Mb_ * (или заменять встроенные функции функциями Mb_ * вручную). См. эту страницу в руководстве по PHP

2 голосов
/ 03 декабря 2009

Прежде всего, mbstring - это не вопрос БД, а PHP. И второе - да, у вас должно быть это расширение, если вы хотите что-то делать со строками в PHP - например, сравнивать или расщеплять.

Простейшим примером будет заполнение строки определенной длины (например, у вас есть предварительный просмотр статьи в списке поиска), если вы используете стандартные функции PHP, они работают с отдельными байтами и могут прорезать один символ UTF.

Вы можете перегрузить некоторые переменные, если вы контролируете веб-сервер. Но чтобы сделать код более переносимым, я предлагаю явно использовать функции mb_ *. На большинстве веб-серверов это расширение включено в наши дни.

...