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

👍 Научим бесплатно правильно создавать сайты на WordPress. Подробнее →

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

Создай свой первый сайт на WordPress

asiraev
Оцените автора
Добавить комментарий

  1. В какой кодировке отображается страница с неправильными символами?

    Ответить
  2. sHa

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

    htmlentities(stripslashes($variation_value['name']), ENT_QUOTES)

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

    htmlentities(stripslashes($variation_value['name']), ENT_QUOTES, 'UTF-8')

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

    , 'UTF-8'

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

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

    Ответить
  3. asiraev автор

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

    Ответить
    1. sHa

      значит не все, какая у вас версия wp-e commerce?

      Ответить
  4. asiraev автор

    SHA, Версия 3.8.7.1

    Ответить
    1. sHa

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

      Ответить
  5. asiraev автор

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

    Ответить
    1. sHa

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

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

      Ответить
      1. asiraev автор

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

        Ответить
      2. asiraev автор

        Да, ты прав там нет кириллических символов, но в функции 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);

        Ответить
        1. saroyama

          2ASIRAEV, спасибо за решение, помогло, была та-же проблема

          Ответить
        2. uty73

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

          Ответить
          1. cerokyz

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

            Ответить
            1. asiraev автор

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

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

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

                Ответить
            2. asiraev автор

              “AddDefaultCharset UTF-8”
              прописывать без кавычек

              Ответить
  6. cerokyz

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

    Ответить
  7. cerokyz

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

    Ответить
  8. cerokyz

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

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

      Ответить
×
WordPress:
прокачай свой сайт!

Скидка на премиум темы и плагины

Успей забрать скидку ⋙