We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 1477
    • 515 Posts
    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).
      • 12596
      • 16 Posts
      Quote from: Andchir at Dec 08, 2009, 01:45 PM

      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/ajax-action.php - не помогло.
      Причем, насколько я понимаю, проблема с кодировкой наблюдается только для ajax, да и то частично - т.е. некоторые надписи отображаются корректно, а некоторые - в частности наименование товара и название валюты - не корректно.

      При этом после полного обновления страницы все отображается корректно. Уж не знаю что и делать.
        • 1477
        • 515 Posts
        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).
          • 1477
          • 515 Posts
          2ibobriakov:
          И ещё. БД у вас в UTF-8? Проверить можно в админке: Отчеты -> Системная информация -> Сопоставление базы данных.
          Также посмотрите phpInfo(). Там есть ссылка "посмотреть". Что написано в строке HTTP_ACCEPT_CHARSET?
            Shopkeeper - сниппет и модуль для создания интернет-магазина.
            TVimageResizer - плагин для изменения размеров (а также наложения водяных знаков и скругления углов) картинок TV при создании документа.
            PickDocsInTree - плагин для выбора документов из дерева.
            Paykeeper 1.5 - Сниппет для онлайн-оплаты в интернет-магазине MODx + Shopkeeper (Webmoney и Robokassa).
            • 12596
            • 16 Posts
            Quote from: Andchir at Dec 09, 2009, 12:51 AM

            2ibobriakov:
            И ещё. БД у вас в UTF-8? Проверить можно в админке: Отчеты -> Системная информация -> Сопоставление базы данных.
            Также посмотрите phpInfo(). Там есть ссылка "посмотреть". Что написано в строке HTTP_ACCEPT_CHARSET?

            Ух, вроде заработало правильно! cool
            Пришлось залезть в дебри (для моего аматорского понимания php).
            Вот что я сделал:
            поменял в файле ajax-action.php строчку
            $charset = "windows-1251";
            на
            $charset = "utf-8";


            Возможно в будущих версиях есть смысл сделать так, чтобы кодировка в ajax-action.php подгружалась динамически?

            В любом случае спасибо за помощь!
              • 1477
              • 515 Posts
              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).
                • 12596
                • 16 Posts
                Quote from: Andchir at Dec 09, 2009, 01:22 AM

                Quote from: ibobriakov at Dec 09, 2009, 01:18 AM

                Пришлось залезть в дебри (для моего аматорского понимания php).
                Вот что я сделал:
                поменял в файле ajax-action.php строчку
                $charset = "windows-1251";
                на ...
                Это какая-то ваша строчка. Изначально её не было.

                Вы правы. Для меня так и останется загадкой, откуда она взялась.
                  • 16238
                  • 47 Posts
                  Здравствуйте. Andchir, спасибо огромное за Вашу работу!
                  У меня такой вопрос. Направьте пожалуйста, в какую сторону смотреть:

                  У меня к товаром есть дополнительный параметр, который выводится просто текстом(не чекбоксом или селектом). И этот параметр в цифрах, который тоже должен подсчитываться в корзине сам по себе, отдельно от цены. Но, пользователь может выбрать, подсчитывать ли этот параметр, или нет, если нет, то этот параметр равен нулю. Т.е. он нажимает на определенную ссылку, и по клику - либо считается этот параметр в корзине либо нет. Я в классе добавила этот параметр по аналогии с ценой, все считает нормально. Но проблема в том, что первоначальное значение этого параметра записывается в сессию, и если в первый раз было выбрано "считать этот парам.", то потом даже если выбрать "не считать" (он становится равным нулю у товара и в корзину не должен прибавляться), корзина все равно будет его прибавлять, т.е. только после очистки куков можно это изменить. Вобщем, сумбурно как-то объяснила, но вопрос такой - как сделать чтоб этот параметр не записывлся в сессию, но считался в корзине? Хотя бы приблизительно куда копать. Спасибо!
                    Download MODx Templates free
                    • 1477
                    • 515 Posts
                    Quote from: kosha at Dec 10, 2009, 12:04 AM

                    Но проблема в том, что первоначальное значение этого параметра записывается в сессию, и если в первый раз было выбрано "считать этот парам.", то потом даже если выбрать "не считать" (он становится равным нулю у товара и в корзину не должен прибавляться), корзина все равно будет его прибавлять, т.е. только после очистки куков можно это изменить. Вобщем, сумбурно как-то объяснила, но вопрос такой - как сделать чтоб этот параметр не записывлся в сессию, но считался в корзине?
                    Думаю можно сделать чтобы сумма считалась при выводе, а не при сохранении в сессию. Параметр "считать/не считать" тоже можно сделать отдельно и менять значения этих параметров только при удалении товара.
                      Shopkeeper - сниппет и модуль для создания интернет-магазина.
                      TVimageResizer - плагин для изменения размеров (а также наложения водяных знаков и скругления углов) картинок TV при создании документа.
                      PickDocsInTree - плагин для выбора документов из дерева.
                      Paykeeper 1.5 - Сниппет для онлайн-оплаты в интернет-магазине MODx + Shopkeeper (Webmoney и Robokassa).
                      • 12755
                      • 55 Posts
                      А можно как нибудь сделать критерии по товарам, вес, производитель, и тд, и патом их сравнивать?