PHP+UTF8

Может я чего-то не догоняю о том, как устроены мульти-байтовые строки (напр. UTF-8), но почему нельзя сделать собственный набор функций для работы с ними? И почему функции mb_* всегда глючат? Как вы работаете со строками (preg, substr, uppercase, etc…), если разрабатываете мульти-язычный сайт?

8 Responses to как устроены мульти-байтовые строки ?

  1. Regwhite:

    а что за собственные функции ты хочешь?

  2. Regwhite:

    в регулярках есть мультибайт (флагом u, кажется, включается)
    что глючит в mb_*?

  3. OkkGood:

    Видимо потому, что нужно правильно настроить mb_string в php.ini

  4. Xuagreen:

    можно и не настраивать, достаточно просто почитать доки и понять как работает.

  5. Nigblack:

    Держи все данные в utf-8.
    Вот коротенький пример с mb_strlen (парсер не подведи):

    echo mb_strlen(‘ффф’); //6
    echo mb_strlen(‘fff’); //3

    echo mb_strlen(‘ффф’,’UTF-8′); //3
    echo mb_strlen(‘fff’,’UTF-8′); //3

    В регулярках ключ u, как выше написали, делает все что надо.

  6. Xuagreen:

    mbstring.internal_encoding и всё пучком. Я так, наводку дал автору. Чтобы руками не писать каждый разю

  7. UpaFcuk:

    если на хостинге нет mb_, чтобы можно было сделать свой overload

  8. Vormo:

    если на хостинге нет mbstring, то, очевидно, этот хостинг не удовлетворяет требованиям твоего приложения. Хостинг выбирается под приложение, а не наоборот.

Добавить комментарий