n-wp.ru — блог о WordPress

Кракозябры в корзине Wp-e commerce

Здравсвуйте, у меня стоит магазин. И при добавлении товара в корзину , в этой самой корзине появляются кракозябрики. При обновлении страницы они снова превращаются в осмысленный текст. Но все равно этот момент не устраивает.
База данных в UTF-8. в .htacodees прописал «AddDefaultCharset UTF-8».
Не помогает. Поможете?

20 комментариев

  • Ищите в исходниках wp-e commerce такого рожа строки:

    и заменяете на

    хотя вернее будет, добавляете

    перед закрывающейся скобкой.
    Сим действием вы исправите все баги с отображением кирилицы.

    Если не поможет, смотрите на кодовую страницу таблиц в базе данных.

  • TIAURUS, это не вся страница с неправильными символами, это только виджет корзины. Вся база данных в utf8-general-ci.
    SHA, проверил все функции, везде вконце ‘UTF-8’ прописано.
    Сохраняется, то заказ в правильной форме, только во время добавления, видимо AJAX показывает кракозябры, когда еще не обновил страницу.

    • В версии 3.8 файлы темы wp e-commerce перемещаются
      «./wp-content/themes/ваша тема», ищите там wpsc-cart_widget.php — он собственно и будет отвечать за показ корзины

  • Ура, все решил сам. Оказывается это решается очень просто.
    В папке с wp-e commerce есть такой файл
    ajax.functions
    Его надо было открыть и сохранить с кодировкой UTF-8 и всего-то.)

    • мда, я даже растерялся, что на такую глупость можно ответить…

      в файле ajax.functions — по определению кирилических символов нет и не могло быть (за исключением если кто-то не правил самостоятельно), и в связи с этим вы его можете хоть в cp1251 сохранить хоть в koi8 — ничего не измениться, латинские символы каз занимали 8 бит так и будут занимать

      • Не знаю у меня почему-то это так работает, только потом отправка заказа работать перестает.) А когда в ansi сохраняешь его, отправка заказа начинает работать, но опять кракозябры вылезают.

      • Да, ты прав там нет кириллических символов, но в функции wpsc_add_to_cart() есть строка
        include_once( wpsc_get_template_file_path( ‘wpsc-cart_widget.php’ ) );
        ,которая включает код из другого файла, в котором есть строки которые выводят переведенные на русский строки, например эта _e(‘Product’, ‘wpsc’);
        Если кому интересно, проблема такого вида решается просто.
        в функции wpsc_add_to_cart() после строки
        $output = ob_get_contents();
        я добавил
        $output = iconv(«utf-8», «cp1251», $output);

        • Asiraev большое спасибо!! проблема решилась добавлением этой строки..Было то же самое с очисткой корзины.. Поставил эту же строку в функцию wpsc_empty_cart()

          • И мне с корзиной помогло, спасибо.
            Но есть ещё вопрос…
            Я установил WordPress_v3.2.1_ru_WP_E-Commerce_v3.8.7_ru.zip на Денвер.
            При нажатии на «Продажи магазина» или «Изменения магазина» в панели управления выскакивают крякозябры…
            И ещё, загружаю фото а админке, выставляю размеры, активирую…но на странице фото не появляется.
            Кто знает, подскажите в чём проблемы.
            Спасибо.

            • Фото на странице не появляется, потому что они сохраняются с кривыми именами с «кракозябрами», когда wp_e commerce обращается к ним по имени, он естественно не может их получить.
              Попробуй в файле .htacces(найдешь с помощью поиска) прописать строку «AddDefaultCharset UTF-8». Если не поможет, сохраняй картинки с именами используя только латинские буквы.

              С первым вопросом не сталкивался на практике.

              • А Cyr2Lat не поможет в этом случае? Он вроде автоматически переводит кириллические имена файлов в латиницу при заливке в блог.

  • Мучился я мучился и установил всё по новому, и WordPress, и E-Commerce. Нашёл другую сборку. Сразу и кракозябры пропали…
    Только фото так и не устанавливается, хотя загружено. И ещё у меня просят какойто API Key Reset, что это и где взять?
    Спасибо.

  • Ух ты — оказалось что даже «AddDefaultCharset UTF-8» уже прописан. Ну дальше я не полезу. Но вот фото так и не встаёт, имена сохраняю цифрами.

  • Вопрос такой.
    Домен я пока не покупал. Сайт на Денвере, я его обозвал временно WordPress, пока тренируюсь и набираюсь опыта.
    Нужно изначально делать сайт под своим именем и потом переносить его с тем же именем на хостинг? Или можно сделать под любым именем, а на хост перенести просто переименовав сайт?

    • Это не имеет отношения к данному обсуждению, но отвечу: желательно сразу делать все под своими именами и доменами,потому что есть такие данные, которые записываются в базу данных, и исправить их потом бывает не всегда просто. Если же изначатьно все указывать правильно, то и исправлять потом ничего не придется.