LINUX.ORG.RU

perl, =~ s/ + russian


0

0

имеем строчку $name =~ s/$ignorewords[0]{'name'}//g; $ignorewords[0]{'name'} - хранит русские симфолы (полученные из mysql)

но $name не имзменяться, причем после этой операции вывести $ignorewords[0]{'name'} то все русские симфолы превращаються в казаблики, кто нибудь знает как это лечиться ?


Чтука есть такая - кодировка. Так вот, ты уверен, что кодировка словаря, скрипта и mysql совпадают?

Anoxemian ★★★★★
()
Ответ на: комментарий от Anoxemian

еще раз с форматированием

имеем строчку
$name =~ s/$ignorewords[0]{'name'}//g;
$ignorewords[0]{'name'} - хранит русские симфолы (полученные из mysql)

но $name не имзменяться, причем если после этой операции вывести $ignorewords[0]{'name'} то все русские символы превращаються в казаблики,
кто нибудь знает как это лечиться ?

> Чтука есть такая - кодировка.
ну ты меня просветил.
дело в том что основные данные беруться из xls (перем $name в данном
случае), и судя по всему кодировка не совпадает ((
пробывал в запросах указывать
$dbh->do("set names cp1251")
$dbh->do("set names utf8")

(((


ps или может просто нужно выспаться ? (((

hose
() автор топика
Ответ на: комментарий от hose

выспаться - это хорошо. Иногда очень даже вставляет :)

AndreyKl ★★★★★
()
Ответ на: комментарий от hose

если данные в utf8...

попробуй добавить

use utf8;
use Encode qw(encode decode is_utf8);



и еще, иногда перлу нужно принудительно указывать, что данные в utf8

Encode::_utf8_on($str);

....работает со строкой...

Encode::_utf8_off($str);

Effect
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.