Помощ » Проблеми » Помощ – побългаряване на приставка

  • Затворена alekseybg

    (@alekseybg)


    Изтеглих си тази приставка –> http://wordpress.org/extend/plugins/quote-rotator
    Въвеждам цитат на английски – всичко е окей. Въвеждам цитат на български – само питанки. Пипах енкодинга къде ли не – няма промяна. Някой, който разбира повечко от приставки и кодове ако може да помогне? Къде би трябвало да се пипне енкодинга, че да може цитата да си излезе на кирилица?

Виждате 4 отговора - 1 от 4 (от 4 общо)
  • Това най-вероятно се получава, защото приставката осъществява връзката с БД не през вече установената конекция на WP, а чрез нейна такава :(.

    1. Архивирай си файлчето на плъгина, и базата данни за всеки случай.
    2. Търси и намери в текста на плъгина „connect“ (то ще е част от командата)
    3. След тази команда изпълни командата:
    mysql_query(„SET NAMES ‘utf8′“);

    Това би следвало да помогне.

    Успех!
    Д.

    Thread Starter alekseybg

    (@alekseybg)

    Търсих, търсих… и с find и с очи… не намерих connect… Мога да кажа горе-долу до момента какво и къде съм пипал:
    Тоя плъгин има общо три файла – и на трите им сложих по едно
    header(‘Content-Type: text/html; charset=UTF-8’); (и поотделно и накуп), но не се получи нищо. Пипах БД-то – там също промених енкодинга, слава богу без да си навредя на блога с това. В Design –> Theme editor също пипах малко файловете (помислих, че нещо widget функцията не прави както трябва енкодинга) но пак не се получи нищо. Когато пипах с редактора файловете на плъгина след това запазвах с енкодинг UTF-8 without BOM… На няколко пъти след такива промени даже рестартирах сървъра (на собствен хост съм) и пак нямаше промяна.
    Благодаря ти за бързия отговор, но не намерих „connect“ никъде :/ Ако има други идеи и начини – предлагайте

    Хм, това използва глобалния wpdb connection (значи, добре е, все пак). Ако е така, интересно е как останалия ти Unicode работи нормално…

    Това, което ми идва наум е, че SQL-а ти най-вероятно е с не-Уникод кодиране по дефаулт. WordPress е достатъчно хитър да форсира уникод, но в този плъгин това не става така!

    Може да пробваш това:

    1. Деинсталирай плъгина. Провери дали таблицата му (вероятно WP_QUOTEROTATOR) е изтрита.

    2. Намери редът
    $sql = „CREATE TABLE " . $wpdb->prefix . "QuoteRotator (id MEDIUMINT(9) NOT NULL AUTO_INCREMENT PRIMARY KEY, quote TEXT NULL);“;
    Трябва да се намира в quote-rotator.class.php

    3. Промени редът така (не съм го пробвал, дано съм улучил синтаксиса):
    $sql = „CREATE TABLE " . $wpdb->prefix . "QuoteRotator (id MEDIUMINT(9) NOT NULL AUTO_INCREMENT PRIMARY KEY, quote TEXT NULL) CHARSET=utf8;“;

    След това разреши пак плъгина. Виж с какъв енкодинг ще се създаде таблицата (ако знаеш как), трябва да е UTF8.

    ВЕЧЕ трябва да работи, пробвай!

    Ако пак не стане, ще трябва да играе голямата балтия! Пробвай това само ако горното не стане:
    1. Намери wp-db.php (намира се в wp-includes)

    2. Намери кодът, който прилича на:
    $this->dbh = @mysql_connect($dbhost, $dbuser, $dbpassword);

    3. Сложи следното СЛЕД този ред:
    mysql_query(„SET NAMES ‘utf8’ COLLATE ‘utf8_unicode_ci'“);

    ИЗЛИШНО Е, предполагам, да ти казвам да архивираш базата си, преди да започнеш каквито и да е експерименти 🙂

    Успех!
    Д.

    Thread Starter alekseybg

    (@alekseybg)

    Първата част оправи нещата, благодаря ти много 🙂 Казвай откъде си, дължа ти една бира 😛 Въртеше ми се из главата нещо такова, ама така и не го направих. Сега благодарение на теб се оправих 🙂

Виждате 4 отговора - 1 от 4 (от 4 общо)
  • Темата ‘Помощ – побългаряване на приставка’ е затворена за нови отговори.