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

Форум PHP

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

 

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

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

тема: Кодировка(из windows-1251в UTF-8)
 
 автор: Лена   (07.02.2009 в 22:58)   письмо автору
2 Кб
 
 

На сайте кодировка UTF-8. Граббер тянет на этот сайт информацию, которая на исходном сайте находится в кодировке windows-1251. Информация помещается как отдельный модуль.
Перед выводом этого блока использую iconv("windows-1251", "UTF-8", $ans); $ans- информация, но что-то не получается.
Скрипт прикрепила. iconv использую в 32 строке.

  Ответить  
 
 автор: Trianon   (08.02.2009 в 00:49)   письмо автору
 
   для: Лена   (07.02.2009 в 22:58)
 

Странно, что текст самого скрипта в windows-1251

А вообще, я отделил бы мух от котлет.
У Вас там и граббинг и iconv и запись в файл - всё в одном флаконе.
Неужели по отдельности эти шаги не проверить?

  Ответить  
 
 автор: Лена   (08.02.2009 в 22:13)   письмо автору
2 Кб
 
   для: Trianon   (08.02.2009 в 00:49)
 

Спасибо, получилось.
Надо сначала граббинг, потом запись в файл и уже перед выводом в броузер применить iconv, тогда все получается.

  Ответить  
 
 автор: sim5   (09.02.2009 в 07:20)   письмо автору
 
   для: Лена   (08.02.2009 в 22:13)
 

iconv можно и перед записью в файл применить.

  Ответить  
 
 автор: Лена   (09.02.2009 в 11:48)   письмо автору
 
   для: sim5   (09.02.2009 в 07:20)
 

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

  Ответить  
 
 автор: Trianon   (09.02.2009 в 11:52)   письмо автору
 
   для: Лена   (09.02.2009 в 11:48)
 

что-то Вы путаете....
Вообще-то они оба - кирилицей. Что в 1251, что в utf-8

  Ответить  
 
 автор: Лена   (09.02.2009 в 12:02)   письмо автору
 
   для: Trianon   (09.02.2009 в 11:52)
 

Вот потому что путаю, поэтому и пытаюсь разобраться.
Почему, когда мы не меняем кодировку на utf-8 в браузере появляются кракозяблики, а в файле, где мы этот же текст записываем - кириллица?

  Ответить  
 
 автор: sim5   (09.02.2009 в 12:08)   письмо автору
 
   для: Лена   (09.02.2009 в 12:02)
 

Потому, что вы путаете отображение с записью. Выводя в браузер страницу, в ней, видимо, указана кодировка 1251, потому и крякозябрики, а делая просто вывод текста записанного, из под локального сервера, у которого по умолчанию кодировка utf, вы видите нормальный текст. Может быть по этому, проверьте.

  Ответить  
 
 автор: Trianon   (09.02.2009 в 12:15)   письмо автору
 
   для: Лена   (09.02.2009 в 12:02)
 

ну так это все зависит , как браузером смотреть и как в файл заглядывать.
Если сервер браузеру выкинул в заголовке Content-type: text/html; charset=Windows-1251 - он 1251 покажет нормально, а utf - кракозябликами.
Если сервер браузеру выкинул в заголовке Content-type: text/html; charset=utf-8 - он utf-8 покажет нормально, а utf - кракозябликами, нет... скорее всё ж вопросиками. .
Если сервер браузеру ничего в заголовке не выкинул - браузер имеет право вообще ничего человеческого не показать.

С просмотром файла ситуация близкая.
Если Вы редактору сказали , что текст в utf, он одно покажет.
если сказали, что в 1251 - другое.
Ничего не сказали - хм... никакого наперед осмысленного результата не ждите.

  Ответить  
 
 автор: Лена   (09.02.2009 в 12:48)   письмо автору
 
   для: Trianon   (09.02.2009 в 12:15)
 

Сервер в браузер отдает заголовок отображать информацию в utf-8 (Content-type: text/html; charset=utf-8 ), да, здесь у меня написанное в utf-8 - нормально, в 1251 - квадратики в перемешку с тегами.
Дело в том, что я разбиралась с Drupal`ом. Он ориентирован на использование utf-8. Те модули, которые я писала и проверяла в корне другого проекта(не в Друпале), а потом подключала к Друпалу, у меня все в квадратиках. Делаю iconv - и все в порядке.
Я так поняла, что на сервере должна быть кодировка по умолчанию и она где-то записана. Выходит, у меня кодировка по умолчанию - 1251. Где это можно посмотреть?

  Ответить  
 
 автор: Trianon   (09.02.2009 в 12:53)   письмо автору
 
   для: Лена   (09.02.2009 в 12:48)
 

кодировка документов по умолчанию прописывается директивой
AddDefaultCharset utf-8

в файле .htaccess

  Ответить  
 
 автор: cheops   (08.02.2009 в 03:54)   письмо автору
 
   для: Лена   (07.02.2009 в 22:58)
 

Вместо windows-1251 попробуйте использовать cp1251

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

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