Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Вебмастеру (http://forum.oszone.net/forumdisplay.php?f=22)
-   -   Что с utf-8? (http://forum.oszone.net/showthread.php?t=60205)

benya 28-01-2006 16:06 398254

Что с utf-8?
 
Господа, есть простенький код. Хочу добится правильной работы регулярных выражений.
Документ находится в той же кодировке - в utf-8

Почему в KOI8 и CP1251 работает, а в UTF-8 не работает?

Код:

#!/usr/bin/perl
print "Content-type: text/html\n\n";
use locale;
use POSIX qw(locale_h);
setlocale(LC_CTYPE,"ru_RU.UTF-8");

$test="тест";
if($test=~/ТЕСТ/gi){print "OK";}
else{print "NOT OK";}


vadimiron 28-01-2006 16:38 398257

Цитата:

setlocale(LC_CTYPE,"ru_RU.UTF-8");
Я правда в этом не так сильно разбераюсь, но при чём тут ru_RU? Вроде для UTF-8 всё равно должно быть, то наверно должно просто UTF-8 стоять.
Или так для других целей пишут?

benya 30-01-2006 12:37 398902

Перепробовал все варианты. Полазив по сайтам показалось что у Перла проблемы с utf-8. Для этого есть какие-то "прагмы".
Убрал это :
Код:

use locale;
use POSIX qw(locale_h);
setlocale(LC_CTYPE,"ru_RU.UTF-8");

Поставил это:
Код:

use utf8;
Хотя есть еще один вариант:
Код:

use encoding 'cp1251', STDOUT => 'koi8-r';
P.S. Вроде работает ;)


Время: 05:15.

Время: 05:15.
© OSzone.net 2001-