• Как победить беду с кодировкой при записи в базу?

    AN_ANT
    @AN_ANT Автор вопроса

    $data['country']= convert_tag_before_save('ru--blockchain');
    $db->query("INSERT INTO art SET ?u", $data);


    private function convert_tag_before_save($tag){
    sscanf($tag, "%4s%s", $tr_key, $tag);
    if ($tr_key =='ru--'){

    $tag = mb_strtolower($tag);
    $rus = array('щ', 'ш', 'ч', 'ц', 'й', 'ё', 'э', 'ю', 'я', 'х', 'ж', 'а', 'б', 'в', 'г', 'д', 'е', 'з', 'и', 'к', 'л', 'м', 'н', 'о', 'п', 'р', 'с', 'т', 'у', 'ф', 'ъ', 'ы', 'ь');
    $eng = array('shch', 'sh', 'ch', 'cz', 'ij', 'yo', 'ye', 'yu', 'ya', 'kh', 'zh', 'a', 'b', 'v', 'g', 'd', 'e', 'z', 'i', 'k', 'l', 'm', 'n', 'o', 'p', 'r', 's', 't', 'u', 'f', 'xx', 'y', 'x');

    return str_replace($eng, $rus, $tag);
    }

    }



    В режиме отладки вижу на выходе:
    блокчейн

    При запуске скрипта через php parser.php в базе вижу:
    блокцхеиjн

    Пробовал сменить кодировку на CP1251:
    return mb_convert_encoding(str_replace($eng, $rus, $tag), 'CP1251')
    Ничего не меняется, как шел блокцхеиjн так и идет..
    Ответ написан
  • Как преобразовать строковую переменную с html тегами в html документ?

    AN_ANT
    @AN_ANT Автор вопроса
    Да, я использую именно этот модуль. Фишка в том, что у меня нет завершающих тегов
    $content = '### Heading 3 ###'

    А теги переноса строки маркдаун не распознает сам по себе. При этом, если в тексте переменной (text в базе), поставить энтер, то маркдаун отрабатывает отлично.
    Ответ написан
    Комментировать