Quote from: ibobriakov at Dec 08, 2009, 01:19 PM
Да, сервер Apache. В службе хостинга сказали что это корректируется внутри базы данных.
В общем, я везде где только нашел поставил кодировку utf-8, но проблема к сожалению не исчезла.
Я выложил сайт сюда http://pik99.ibobriakov.net/, возможно на живом примере удастся что-то подсказать чтобы исправить проблемы с кодировкой? ??
Попробуйте в самом верху файла
shopkeeper/ajax-action.php вставить такой код:
header('Content-Type: text/html; charset=utf-8');
Shopkeeper - сниппет и модуль для создания интернет-магазина.
TVimageResizer - плагин для изменения размеров (а также наложения водяных знаков и скругления углов) картинок TV при создании документа.
PickDocsInTree - плагин для выбора документов из дерева.
Paykeeper 1.5 - Сниппет для онлайн-оплаты в интернет-магазине MODx + Shopkeeper (Webmoney и Robokassa).
Quote from: ibobriakov at Dec 08, 2009, 10:47 PM
Причем, насколько я понимаю, проблема с кодировкой наблюдается только для ajax, да и то частично - т.е. некоторые надписи отображаются корректно, а некоторые - в частности наименование товара и название валюты - не корректно.
При этом после полного обновления страницы все отображается корректно. Уж не знаю что и делать.
Странно. Firebug показывает, что кодировка при ajax-запросе теперь выставляется верно. Вчера она совсем не выставлялась. Попробуйте в файле
class.shopkeeper.php закомментировать или временно убрать строку 186
$name = $this->charset=="windows-1251" && mb_detect_encoding($name,"UTF-8",true)!==false ? iconv("UTF-8", "windows-1251", $name) : $name; Если хоть частично поможет, уберите везде где есть функцию
iconv и проверки
mb_detect_encoding.
Shopkeeper - сниппет и модуль для создания интернет-магазина.
TVimageResizer - плагин для изменения размеров (а также наложения водяных знаков и скругления углов) картинок TV при создании документа.
PickDocsInTree - плагин для выбора документов из дерева.
Paykeeper 1.5 - Сниппет для онлайн-оплаты в интернет-магазине MODx + Shopkeeper (Webmoney и Robokassa).
2ibobriakov:
И ещё. БД у вас в UTF-8? Проверить можно в админке: Отчеты -> Системная информация -> Сопоставление базы данных.
Также посмотрите phpInfo(). Там есть ссылка "посмотреть". Что написано в строке HTTP_ACCEPT_CHARSET?
Shopkeeper - сниппет и модуль для создания интернет-магазина.
TVimageResizer - плагин для изменения размеров (а также наложения водяных знаков и скругления углов) картинок TV при создании документа.
PickDocsInTree - плагин для выбора документов из дерева.
Paykeeper 1.5 - Сниппет для онлайн-оплаты в интернет-магазине MODx + Shopkeeper (Webmoney и Robokassa).
Quote from: ibobriakov at Dec 09, 2009, 01:18 AM
Пришлось залезть в дебри (для моего аматорского понимания php).
Вот что я сделал:
поменял в файле ajax-action.php строчку $charset = "windows-1251";
на ...
Это какая-то ваша строчка. Изначально её не было.
Shopkeeper - сниппет и модуль для создания интернет-магазина.
TVimageResizer - плагин для изменения размеров (а также наложения водяных знаков и скругления углов) картинок TV при создании документа.
PickDocsInTree - плагин для выбора документов из дерева.
Paykeeper 1.5 - Сниппет для онлайн-оплаты в интернет-магазине MODx + Shopkeeper (Webmoney и Robokassa).
Здравствуйте. Andchir, спасибо огромное за Вашу работу!
У меня такой вопрос. Направьте пожалуйста, в какую сторону смотреть:
У меня к товаром есть дополнительный параметр, который выводится просто текстом(не чекбоксом или селектом). И этот параметр в цифрах, который тоже должен подсчитываться в корзине сам по себе, отдельно от цены. Но, пользователь может выбрать, подсчитывать ли этот параметр, или нет, если нет, то этот параметр равен нулю. Т.е. он нажимает на определенную ссылку, и по клику - либо считается этот параметр в корзине либо нет. Я в классе добавила этот параметр по аналогии с ценой, все считает нормально. Но проблема в том, что первоначальное значение этого параметра записывается в сессию, и если в первый раз было выбрано "считать этот парам.", то потом даже если выбрать "не считать" (он становится равным нулю у товара и в корзину не должен прибавляться), корзина все равно будет его прибавлять, т.е. только после очистки куков можно это изменить. Вобщем, сумбурно как-то объяснила, но вопрос такой - как сделать чтоб этот параметр не записывлся в сессию, но считался в корзине? Хотя бы приблизительно куда копать. Спасибо!
Quote from: kosha at Dec 10, 2009, 12:04 AM
Но проблема в том, что первоначальное значение этого параметра записывается в сессию, и если в первый раз было выбрано "считать этот парам.", то потом даже если выбрать "не считать" (он становится равным нулю у товара и в корзину не должен прибавляться), корзина все равно будет его прибавлять, т.е. только после очистки куков можно это изменить. Вобщем, сумбурно как-то объяснила, но вопрос такой - как сделать чтоб этот параметр не записывлся в сессию, но считался в корзине?
Думаю можно сделать чтобы сумма считалась при выводе, а не при сохранении в сессию. Параметр "считать/не считать" тоже можно сделать отдельно и менять значения этих параметров только при удалении товара.
Shopkeeper - сниппет и модуль для создания интернет-магазина.
TVimageResizer - плагин для изменения размеров (а также наложения водяных знаков и скругления углов) картинок TV при создании документа.
PickDocsInTree - плагин для выбора документов из дерева.
Paykeeper 1.5 - Сниппет для онлайн-оплаты в интернет-магазине MODx + Shopkeeper (Webmoney и Robokassa).
А можно как нибудь сделать критерии по товарам, вес, производитель, и тд, и патом их сравнивать?