Не получаеться создать файл с русским названием через пхп на денвере

12
Yurecm
На сайте с 25.02.2007
Offline
233
7324

Создаю скриптом файл, след образом


$bd = fopen ('baza/А/'.$zagolovok.'.txt','w') or die("Не могу открыть файл");
fwrite($bd, $good_text);

где .$zagolovok. название файла которое грабиться с сайта, кодировка сайта UTF-8

Вместо русских букв получается такой бред в названии Абажур.txt

Как это исправить?

Заранее благодарю за помощь, плюсом ;)

ewg777
На сайте с 04.06.2007
Offline
225
#1

$bd = fopen ('baza/А/'.iconv(UTF-8, WINDOWS-1251, $zagolovok).'.txt','w') or die("Не могу открыть файл"); 

fwrite($bd, $good_text);
Brand from Amber
На сайте с 18.08.2007
Offline
293
#2

А платформа не win32 часом? "РђР±" очень похоже на представление UTF-8 через win1251.

Вот тут про это пишут.

Лучший способ понять что-то самому - объяснить это другому.
Yurecm
На сайте с 25.02.2007
Offline
233
#3

ewg777, вот что выдает

Fatal error: Call to undefined function: iconv() in z:\home\poisksnov\ on line 28

Yurecm добавил 07.06.2009 в 20:47

Brand from Amber:
А платформа не win32 часом?

где это можно посмотреть?

ewg777
На сайте с 04.06.2007
Offline
225
#4
Yurecm:
ewg777, вот что выдает
Fatal error: Call to undefined function: iconv() in z:\home\poisksnov\ on line 28

function u8($win,$h,$t)

{
global $w8;
$w8[chr($h).chr($t)] = $win;
}
$c1 = chr(208);
$c2 = chr(209);
u8("й",208,185); u8("ц",209,134); u8("у",209,131);
u8("к",208,186); u8("е",208,181); u8("н",208,189);
u8("г",208,179); u8("ш",209,136); u8("щ",209,137);
u8("з",208,183); u8("х",209,133); u8("ъ",209,138);
u8("ф",209,132); u8("ы",209,139); u8("в",208,178);
u8("а",208,176); u8("п",208,191); u8("р",209,128);
u8("о",208,190); u8("л",208,187); u8("д",208,180);
u8("ж",208,182); u8("э",209,141); u8("я",209,143);
u8("ч",209,135); u8("с",209,129); u8("м",208,188);
u8("и",208,184); u8("т",209,130); u8("ь",209,140);
u8("б",208,177); u8("ю",209,142); u8("Й",208,153);
u8("Ц",208,166); u8("У",208,163); u8("К",208,154);
u8("Е",208,149); u8("Н",208,157); u8("Г",208,147);
u8("Ш",208,168); u8("Щ",208,169); u8("З",208,151);
u8("Х",208,165); u8("Ъ",208,170); u8("Ф",208,164);
u8("Ы",208,171); u8("В",208,146); u8("А",208,144);
u8("П",208,159); u8("Р",208,160); u8("О",208,158);
u8("Л",208,155); u8("Д",208,148); u8("Ж",208,150);
u8("Э",208,173); u8("Я",208,175); u8("Ч",208,167);
u8("С",208,161); u8("М",208,156); u8("И",208,152);
u8("Т",208,162); u8("Ь",208,172); u8("Б",208,145);
u8("Ю",208,174); u8("ё",209,145); u8("Ё",208,129);

function utf2win ($text)
{
global $c1,$c2,$w8;
$u = false;
$temp = "";
for($i=0,$len=strlen($text); $i<$len; $i++) {
$c = substr($text,$i,1);
if ($u) {
$c = $w8[$lc.$c];
$temp .= isset($c)?$c:"?";
$u = false;
}
else if ($c==$c1 || $c==$c2) {
$u = true;
$lc = $c;
}
else
$temp .= $c;
}
return $temp;
}
$zagolovok = utf2win($zagolovok);

ewg777 добавил 07.06.2009 в 20:48

Yurecm:
Yurecm добавил 07.06.2009 в 20:47

где это можно посмотреть?

Денвер. Конечно, win!

Yurecm
На сайте с 25.02.2007
Offline
233
#5

ewg777, спасибо заработало!

Brand from Amber
На сайте с 18.08.2007
Offline
293
#6
ewg777:
Денвер. Конечно, win!

А... ну да.

Yurecm:
где это можно посмотреть?

Насколько я понял - тут:

Джентльменский набор Web-разработчика («Д.н.w.р», читается «Денвер») — проект Дмитрия Котерова, набор дистрибутивов (Apache, PHP, MySQL, Perl и т.д.) и программная оболочка, используемые Web-разработчиками для разработки сайтов на «домашней» (локальной) Windows-машине без необходимости выхода в Интернет.

Тогда, как я и предполагал и как правильно написал ewg777 нужно перекодировать в win1251.

[Удален]
#7
ewg777:
function u8($win,$h,$t)

{
global $w8;
$w8[chr($h).chr($t)] = $win;
}
$c1 = chr(208);
$c2 = chr(209);
u8("й",208,185); u8("ц",209,134); u8("у",209,131);
u8("к",208,186); u8("е",208,181); u8("н",208,189);
u8("г",208,179); u8("ш",209,136); u8("щ",209,137);
u8("з",208,183); u8("х",209,133); u8("ъ",209,138);
u8("ф",209,132); u8("ы",209,139); u8("в",208,178);
u8("а",208,176); u8("п",208,191); u8("р",209,128);
u8("о",208,190); u8("л",208,187); u8("д",208,180);
u8("ж",208,182); u8("э",209,141); u8("я",209,143);
u8("ч",209,135); u8("с",209,129); u8("м",208,188);
u8("и",208,184); u8("т",209,130); u8("ь",209,140);
u8("б",208,177); u8("ю",209,142); u8("Й",208,153);
u8("Ц",208,166); u8("У",208,163); u8("К",208,154);
u8("Е",208,149); u8("Н",208,157); u8("Г",208,147);
u8("Ш",208,168); u8("Щ",208,169); u8("З",208,151);
u8("Х",208,165); u8("Ъ",208,170); u8("Ф",208,164);
u8("Ы",208,171); u8("В",208,146); u8("А",208,144);
u8("П",208,159); u8("Р",208,160); u8("О",208,158);
u8("Л",208,155); u8("Д",208,148); u8("Ж",208,150);
u8("Э",208,173); u8("Я",208,175); u8("Ч",208,167);
u8("С",208,161); u8("М",208,156); u8("И",208,152);
u8("Т",208,162); u8("Ь",208,172); u8("Б",208,145);
u8("Ю",208,174); u8("ё",209,145); u8("Ё",208,129);

function utf2win ($text)
{
global $c1,$c2,$w8;
$u = false;
$temp = "";
for($i=0,$len=strlen($text); $i<$len; $i++) {
$c = substr($text,$i,1);
if ($u) {
$c = $w8[$lc.$c];
$temp .= isset($c)?$c:"?";
$u = false;
}
else if ($c==$c1 || $c==$c2) {
$u = true;
$lc = $c;
}
else
$temp .= $c;
}
return $temp;
}
$zagolovok = utf2win($zagolovok);


ewg777 добавил 07.06.2009 в 20:48
Денвер. Конечно, win!

Земля наркоманами полнится.


$zagolovok=iconv("UTF-8","WINDOWS-1251",$zagolovok);

а вообще есть какой то другой наркоман который написал целое собрание библиотек для работы с UTF-8. Я находил его в гугле по запросу "фильтр мата PHP"

aleksey_php
На сайте с 17.03.2008
Offline
53
#8
neolord:
Земля наркоманами полнится.

$zagolovok=iconv("UTF-8","WINDOWS-1251",$zagolovok);

а вообще есть какой то другой наркоман который написал целое собрание библиотек для работы с UTF-8. Я находил его в гугле по запросу "фильтр мата PHP"

Действительно, полнится... Темы нонче читают, видимо, с конца...

Сообщение от Yurecm
ewg777, вот что выдает
Fatal error: Call to undefined function: iconv() in z:\home\poisksnov\ on line 28
[Удален]
#9

весь топик - тихий ужас. зы юрец я бы не купил вашу цмс, если вы не знаете такие мелочи.

[Удален]
#10

Ну да, я читаю с конца.

На сайте денвера можно скачать полный набор расширений для него. в том числе иконв.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий