Логотип   Простое и понятное управление
  Уникальные возможности по настройке
  Open Server скачали уже 1 399 640 раз!

Форум

Добро пожаловать, Гость!

mbstring

Обсуждение вопросов на другие темы связанные с веб-разработкой
Mensch
Сообщения: 4
C нами: 8 мес 30 дней

Непрочитанное сообщение Mensch » 17 мар 2017, 16:49

Прошу прощения у уважаемых администраторов и модераторов форума за детский вопрос!!! Очень прошу меня не банить поскольку я только начал изучение php 5.4 с помощью видео уроков «Специалист» Борисова, который отзывается о проекте как о лучшей сборке в Российском сегменте. В процессе обучения появилась проблема с mbstring вот в этом коде:
<?php
$name = "JohnВася";
$len = mb_strlen($name);
echo $len;
?>
При подключенном mbstring в уроке Борисова результат должен быть 8 символов, а у меня получается 12. Подскажите люди добрые в чём засада? Посмотрел конфиг mbstring подключен. Два дня себе уже мозг ломаю…

Аватара пользователя
Asmodey
Сообщения: 336
C нами: 5 лет 7 мес
Контакты:

Непрочитанное сообщение Asmodey » 17 мар 2017, 20:43

Оно не верно определяет кодировку.
Есть подозрение, что строка utf-8, а оно считает cp1251.
Посмотрите что порасскажет echo mb_internal_encoding(); Ею же можно и выставить значение по-умолчанию.
Или указывать вторым параметром mb_strlen($name,"utf-8");

Mensch
Сообщения: 4
C нами: 8 мес 30 дней

Непрочитанное сообщение Mensch » 17 мар 2017, 21:13

Asmodey писал(а):Оно не верно определяет кодировку.
Есть подозрение, что строка utf-8, а оно считает cp1251.
Посмотрите что порасскажет echo mb_internal_encoding(); Ею же можно и выставить значение по-умолчанию.
Или указывать вторым параметром mb_strlen($name,"utf-8");

Огромное спасибо за подсказку указание второго параметра,"utf-8" решило проблему. Только осталось непонятным как Борисов настроил php 5.4 так, что у него всё отрабатывает только с указанием переменной... И вместе с тем теперь я знаю как это обойти. За что ещё раз большое спасибо!!!!

Аватара пользователя
Asmodey
Сообщения: 336
C нами: 5 лет 7 мес
Контакты:

Непрочитанное сообщение Asmodey » 17 мар 2017, 21:19

Mensch писал(а):Только осталось непонятным как Борисов настроил php 5.4

mb_internal_encoding("UTF-8");

Аватара пользователя
DelphinPRO
Сообщения: 766
C нами: 5 лет 10 мес
Откуда: Самара
Контакты:

Непрочитанное сообщение DelphinPRO » 17 мар 2017, 21:20

Mensch писал(а):Только осталось непонятным как Борисов настроил php 5.4 так, что у него всё отрабатывает только с указанием переменной...


В любой непонятной ситуации читайте официальный мануал.
Там абсолютно всё написано
http://php.net/manual/ru/mbstring.confi ... l-encoding

Mensch
Сообщения: 4
C нами: 8 мес 30 дней

Непрочитанное сообщение Mensch » 17 мар 2017, 21:30

Asmodey писал(а):mb_internal_encoding("UTF-8");

Это настройка одного файла или настройка всего php?

Mensch
Сообщения: 4
C нами: 8 мес 30 дней

Непрочитанное сообщение Mensch » 17 мар 2017, 21:37

DelphinPRO писал(а):В любой непонятной ситуации читайте официальный мануал.
Там абсолютно всё написано
http://php.net/manual/ru/mbstring.confi ... l-encoding

Спасибо!!!! Буду изучать...


Вернуться в «Оффтоп и другие темы»

Кто сейчас на конференции

Сейчас этот форум просматривают: Bing [Bot] и 2 гостя