Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: URL на кирилличeском домене и гостевая на PHP
 
 автор: ynota   (16.11.2010 в 21:02)   письмо автору
 
 

Тестирую на денвере сайт на кириллическом домене. Сайт весь статический на HTML, только гостевая PHP на файлах c этого сайта. Весь сайт в кодировке UTF-8, а гостевая в windows-1251.
Все названия страниц на кириллице. Те , что на html открываются нормально, а гостевая не хочет открываться, браузер пишет:

Warning: Unknown: failed to open stream: No such file or directory in Unknown on line 0

Fatal error: Unknown: Failed opening required 'Z:/home/xn--k1aaibd0d.xn--p1ai/www/Р’РѕРїСЂРѕСЃС‹/index.php' (include_path='.;/usr/local/php5/PEAR') in Unknown on line 0

Понятно, что проблема с кодировкой. Но как её решить? Причём,как только переименовываю гостевую латинским шрифтом, всё работает. Если знает кто, подскажите, плз.

  Ответить  
 
 автор: WapMorgan   (16.11.2010 в 22:14)   письмо автору
 
   для: ynota   (16.11.2010 в 21:02)
 

Какая ОС?
Попробуйте помудрить с кодировками, т.к. "Р’РѕРїСЂРѕСЃС‹" => windows-1251 => "Вопросы".
Я провел тест.
Есть дав файла, один подключает другой, находящийся в папке "тест".
Если оба в кодировке utf-8, то происходит ошибка.
Если же файл, подключающий другой в кодировке windows-1251 все работает.

  Ответить  
 
 автор: ynota   (16.11.2010 в 23:15)   письмо автору
 
   для: WapMorgan   (16.11.2010 в 22:14)
 

Ковырялся, толку маловато. Кстати все страницы браузер упорно кодирует в кириллицу" Windows-1251" , хотя везде поставил UTF-8.Если страницы латиницей , то в той кодировке, что и написана страница. Надо денвер, наверное, где то настраивать. Подсказали бы умные люди...

  Ответить  
 
 автор: neadekvat   (16.11.2010 в 23:19)   письмо автору
 
   для: ynota   (16.11.2010 в 21:02)
 

Хардкор какой.. Зачем вы файлы по-русски называете?

По поводу кодировок - существует мета-тэг - он мало что значит, а сущесвтует заголовок
header("Content-Type: text/html; charset=utf-8");

А местными скриптами.. вообще не советовал бы пользоваться.

  Ответить  
 
 автор: ynota   (16.11.2010 в 23:34)   письмо автору
 
   для: neadekvat   (16.11.2010 в 23:19)
 

Кириллический домен, поэтому по русски и называю. Есть же там "президент.рф". Вот и у меня такой. В принципе всё нормально работает и на русском языке. В хидере везде стоит "windows-1251". Иначе кракозябры идут. Если тот же сайт прописать всё на латинице, ставлю UTF-8. а гостевую на windows-1251. Тогда всё работает хорошо. Гостевая местная мне в принципе нравится.Проблем пока нет.

  Ответить  
 
 автор: Trianon   (17.11.2010 в 00:14)   письмо автору
52.9 Кб
 
   для: ynota   (16.11.2010 в 23:34)
 

--->

  Ответить  
 
 автор: ynota   (17.11.2010 в 00:19)   письмо автору
 
   для: Trianon   (17.11.2010 в 00:14)
 

Спс

  Ответить  
 
 автор: neadekvat   (17.11.2010 в 00:30)   письмо автору
 
   для: Trianon   (17.11.2010 в 00:14)
 

Блин, а вот если кому-нибудь это показывать, кто английского не знает?) Как можно unsee перевести? "не сделаешь не виденным"?))

  Ответить  
 
 автор: Trianon   (17.11.2010 в 00:38)   письмо автору
 
   для: neadekvat   (17.11.2010 в 00:30)
 

Я предпочитаю "дайте мне развидеть это!"

здесь можно выбрать одну из двух картинок по-русски.

  Ответить  
 
 автор: neadekvat   (17.11.2010 в 00:41)   письмо автору
 
   для: Trianon   (17.11.2010 в 00:38)
 

Развидеть - это что-то с чем-то :) Правда, не все поймут.

  Ответить  
 
 автор: Trianon   (17.11.2010 в 00:46)   письмо автору
 
   для: neadekvat   (17.11.2010 в 00:41)
 

Вообще-то ничего нового на этом свете нет.
Классика звучит как "Лопни мои глаза!"

  Ответить  
 
 автор: ynota   (17.11.2010 в 00:40)   письмо автору
 
   для: neadekvat   (17.11.2010 в 00:30)
 

По ходу пока будет гостевая латиницей обзываться, подождём советов со стороны. Денвер отдаёт сайт в кодировке Windws1251 как не сохраняй файлы. Мозила бедная прижмурилась от такого чуда. IE вообще не открывает. Хроме с Оперой вроде нормально открывают кириллические сайты.

  Ответить  
 
 автор: ynota   (17.11.2010 в 21:42)   письмо автору
 
   для: ynota   (17.11.2010 в 00:40)
 

Поколдовал с .htaccess. Удалось только добиться, что гостевая стала открываться. Хтмльная часть отображается нормально, а как пошёл код PHP?

read()) { if (substr($entry,0,3)=="rec") { $names[$i]=substr($entry,4); $i++; } } $dir_rec->close(); @rsort($names); $count = $i; $count1 = $count; if (empty($start)) $start = 0; if ($start < 0) $start = 0; print "
"; if ($count > $start + $pnumber) $count = $start + $pnumber; if ($start != 0) { print " Предыдущие "; } if ($count1 > $start + 10) { print " Следующие \n"; } print "

такая байда.
есть мысли?

  Ответить  
 
 автор: Trianon   (17.11.2010 в 22:02)   письмо автору
 
   для: ynota   (17.11.2010 в 21:42)
 

некорректные ограничители тегов php-кода. Например.
То есть написано <? вместо <?php

  Ответить  
 
 автор: ynota   (19.11.2010 в 09:10)   письмо автору
 
   для: Trianon   (17.11.2010 в 22:02)
 

Проверил, всё в порядке. Ещё какие мысли?

  Ответить  
 
 автор: Trianon   (19.11.2010 в 09:15)   письмо автору
 
   для: ynota   (19.11.2010 в 09:10)
 

проверили или исправили?
Потому что в оригинале они кривые.

  Ответить  
 
 автор: ynota   (19.11.2010 в 10:10)   письмо автору
 
   для: Trianon   (19.11.2010 в 09:15)
 

В смысле, "кривые"? Ну да, они были просто <? Я добавил php. Результат тот же.

  Ответить  
 
 автор: Trianon   (19.11.2010 в 10:14)   письмо автору
 
   для: ynota   (19.11.2010 в 10:10)
 

(набрав в рот полтора стакана терпения)
Вы случайно, пока колдовали с .htaccess, php-интерпретацию не запретили?

  Ответить  
 
 автор: ynota   (19.11.2010 в 10:27)   письмо автору
 
   для: Trianon   (19.11.2010 в 10:14)
 

Я только кодировку указывал, больше ничего нет.

AddType "text/html; charset=Windows-1251" .php
AddType "text/html; charset=utf-8" .html

  Ответить  
 
 автор: Trianon   (19.11.2010 в 10:31)   письмо автору
 
   для: ynota   (19.11.2010 в 10:27)
 

Что ж, колдуйте дальше.
лампу Аладдина себе там, смотрите, не наколдуйте такими методами.

  Ответить  
 
 автор: kosta_in_net   (19.11.2010 в 11:31)   письмо автору
 
   для: ynota   (19.11.2010 в 10:27)
 

а для чего вообще мучиться с utf-8? Раз денвер его не любит, почему бы не перевести все на виндовс-кодировку?

  Ответить  
 
 автор: Trianon   (19.11.2010 в 11:39)   письмо автору
 
   для: kosta_in_net   (19.11.2010 в 11:31)
 

>почему бы не перевести все на виндовс-кодировку?
Потому что в эту кодировку не вмещаются языки подавляющего большинства жителей планеты.
Аргумент?

почему не любит-то?
денвер почти никак не завязан на эту самую 1251.
В паре мест поправить.

  Ответить  
 
 автор: kosta_in_net   (19.11.2010 в 11:51)   письмо автору
 
   для: Trianon   (19.11.2010 в 11:39)
 

я не очень корректно выразился. Суть в том, что я не понял, нафига козе баян...
Точнее, зачем сайт в 2-х кодировках? Уверен, что язык-то на нем один. Гостевая в windows-1251. Значит, рассчитано на русское население.
А на счет неоткрывания файлов в русскоязычных каталогах...
я бы перед всякими include и т. д. попробовал url-декодирование. К примеру, писал как-то человеку фотогалерею, которая сохраняет рисунки с русскими именами в русскоязычных каталогах. А для ссылок и прочего урлкодирует/декодирует адреса.
Работает безупречно (только сейчас не помню, где это было, но если станет принципиально, найду).
Может это поможет решить проблему?

  Ответить  
 
 автор: Trianon   (19.11.2010 в 12:29)   письмо автору
 
   для: kosta_in_net   (19.11.2010 в 11:51)
 

>я не очень корректно выразился. Суть в том, что я не понял, нафига козе баян...
>Точнее, зачем сайт в 2-х кодировках?
По этому поводу мнение уже выразили. Я , в частности - (17.11.2010 в 00:14)

Тем боле, что кодировку эту переделать в скрипте такого объема как эта пресловутая "гостевая книга" - занятие не семи пядей во лбу.

Но тут вообще проблема выбора в полный рост.
Совершенно непонятно, почему автор выбрал именно эту гостевую.
и почему он считает её не учебным примером, а полноценным боевым скриптом.

  Ответить  
 
 автор: ynota   (19.11.2010 в 17:19)   письмо автору
 
   для: Trianon   (19.11.2010 в 12:29)
 

>>я не очень корректно выразился. Суть в том, что я не понял, нафига козе баян...
>>Точнее, зачем сайт в 2-х кодировках?
>По этому поводу мнение уже выразили. Я , в частности - (17.11.2010 в 00:14)
>
>Тем боле, что кодировку эту переделать в скрипте такого объема как эта пресловутая "гостевая книга" - занятие не семи пядей во лбу.
>
>Но тут вообще проблема выбора в полный рост.
>Совершенно непонятно, почему автор выбрал именно эту гостевую.
>и почему он считает её не учебным примером, а полноценным боевым скриптом.
Получилось так что у меня был сайт на яндекс народе. Известно , что Яндекс народ PHP не поддерживает. Потом меня начали там бортовать, политика такая. Я зарегил платный домен, перенёс сайт туда, а гостевую, естессно, не перенесёшь. На народе свои гостевые не классические PHP. Ну я поковырялся по инету, набрёл на эту гостевую. Для меня самое то.Правда спам робот доставал по началу, пока я с помощью этого форума не нашёл защиту. Вот и вся история. Гостевая тем подошла, что достаточна гибкая к настройке внешнего вида под сайт, а функционал для меня вполне приемлем.

  Ответить  
 
 автор: ynota   (19.11.2010 в 12:30)   письмо автору
 
   для: kosta_in_net   (19.11.2010 в 11:51)
 

В принципе без разницы какая кодировка у остальных страниц сайта. Я пробовал всё. Бесполезно. Видимо кириллическое название страницы в котором находится файл index.php всё и ломает. С хтмлем проблем нет. Решил пока проблему так. Создал поддомен с кириллическим названием типа "Гостевая" прекодировал его в пуникод. ссылки переименовал соответственно. Всё работает. Но слишком топорно как то. В PHP не рублю, поэтому ищу решение проблем другими способами. Поэтому и пришёл сюда за советом.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования