Финансовая поддержка VPS, бесплатные дополнения и docs Донаты оплачивают сервер и двигают бесплатные дополнения MODX и документацию. Поддержать

Всего 126 147 комментариев

Роман
Роман
Да, не спешу радоваться :) но все же, пришлось вернуться в хостинг панели к PHP версии 5.3, из за соседнего сайта рядом лежащего, тот лег из того что я понизил версию php, сайт на Bitrix, разбираться не стал, вернул PHP 5.3, но решил покопаться с настройками, как вы предполагали что из за mb_substr, mb_strlen и тд, возможно вылетает косяк с кириллицей в параметрах сниппета, так вот, в настройках хостинга я выключил функцию mbstring, сохранил настройки, посмотрел сайт, все легло, я включил опять эту mbstring, сохранил, перезапустил сервер и все заработало, и глюк с кавычками и кириллице тьфу тьфу тьфу исчез :))) уже 3 форму сделал, пока тихо, надеюсь так и будет. Так что копать может в сторону mbstring?
Александр Либерг
Александр Либерг
А вот это интересно! Надо будет глянуть код pdoCrumbs — он значит сам парсит параметры… посмотрю как…

По поводу Formit и Breadcrumbs для них параметры парсит ядро модикса — соответственно там тоже лажа получается
И вообще любому сниппету параметры на русском = лажа, а pdoCrumbs видимо сам парсит параметры без помощи ядра модикса)))))
Александр Либерг
Александр Либерг
Нет…
В коде модикса используются substr, strlen и другие строковые функции без приставки mb_
Они неправильно работают с UTF8 — и это известный факт, есть даже багрепорты об этом на сайте php

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

Но это не очень хороший выход — даже если получится… любое обновление модикс — и править опять придется код модикса ручками))))))

Роман
Роман
кстати, у многих сниппетов такая лажа, у меня например в Formit в &emailSubject=`тема письма`, и со всеми другими параметрами с русским текстом в этом сниппете, еще в Breadcrumbs таже лажа &homeCrumbTitle=`Главная` НО бредкрумбс я заменил на pdoCrumbs c этого сайта СПАСИБО Василию, и в нем все ок с кирилицей, вот и думай тут, что глючит :) MODX Revolution 2.2.9-pl (traditional) или PHP5.3, непонятно.
Александр Либерг
Александр Либерг
nix`ов — ну unix какой на хостинге… ubuntu, debian, mint и т.д.

Ну вот вы нашли решение проблемы)))) PHP глючит)))

Всетаки мысль правильно у меня шла )))))
Я тут почитал в php5 (в php6 исправлено, но увы он еще не в релизе)))) строковые функции strlen, substr и т.д. не правильно работают с utf8 — надо использовать mb_substr, mb_strlen и т.д. с указанием кодировки в параметрах функций.
Будем знать теперь!
Роман
Роман
Читая ваши комменты, да, вы правы и где то рядом, засада в версии PHP, я на хостинге через панель переключил с PHP5.3 на предпоследнюю PHP5.2, и проблема ушла :), так что что то не то с последней версией PHP, или ХЗ :)

Что такое nix`ов?
Александр Либерг
Александр Либерг
Роман к сожалению я так и не разобрался с этим…

Вроде и код модикса правил… использовал mb_substr, mb_strlen (см. выше) — может проблема в unix (у меня ubuntu 9.04), возможно там что-то править нужно, настройки какие… в итоге отказался от передачи параметров на русском)))))

Хотя надо бы добить эту проблему))))) может на днях еще поковыряюсь)))) — раз не один я с такой проблемой)))

у вас какая версия nix`ов?