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

Форум PHP

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

 

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

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

тема: Как создать файл в кодировке UTF-8?
 
 автор: Владимир55   (29.10.2009 в 11:56)   письмо автору
 
 

Для создания файлов я использую код вида
$file = fopen("control.txt", "w");      
fputs($file, "Данные");
fclose ($file); 


При этом создается файл в кодировке ANSI. А как скриптом создать файл в кодировке UTF-8?

  Ответить  
 
 автор: Trianon   (29.10.2009 в 12:49)   письмо автору
 
   для: Владимир55   (29.10.2009 в 11:56)
 

Если тот же скрипт сохранить в файле в кодировке UTF-8 , то и в файл control.txt данные попадут в этой кодировке.

  Ответить  
 
 автор: Владимир55   (29.10.2009 в 13:10)   письмо автору
 
   для: Trianon   (29.10.2009 в 12:49)
 

Вот это Да!.. Не ожидал...

То есть, выбрав шаблон для создания будущих файлов в кодировке UTF-8, все создаваемые на его основе в любом редакторе файлы будут созданы в этой же кодировке.

Как я понимаю, это единственный способ. И средств рнр для задания кодировки создаваемого файла не существует.

Так?

  Ответить  
 
 автор: Trianon   (29.10.2009 в 13:19)   письмо автору
 
   для: Владимир55   (29.10.2009 в 13:10)
 

У файла нет какого метасвойства, как кодировка.
Имя есть, время создания/модификации есть, права доступа есть, а кодировки нету.
Какие зюковки Вы в него впишете, такие он и будет содержать.

Отседа мораль. Бессмысленно искать методы задания кодировки у файла.
Кстати сказать, у php-строки такого метасвойства нету тоже.

  Ответить  
 
 автор: Akdmeh   (29.10.2009 в 13:20)   письмо автору
 
   для: Trianon   (29.10.2009 в 13:19)
 

$file = fopen("control.txt", "w");
fputs($file, iconv('cp1251', 'utf-8', "Данные"));
fclose ($file);
то есть, мы перекодировали строку.
Не уверен, что поможет, но хотя бы попытайтесь.

  Ответить  
 
 автор: Trianon   (29.10.2009 в 13:22)   письмо автору
 
   для: Akdmeh   (29.10.2009 в 13:20)
 

что мне попытаться?

  Ответить  
 
 автор: coloboc66   (29.10.2009 в 17:24)   письмо автору
 
   для: Trianon   (29.10.2009 в 13:22)
 

Если файлы создаются скриптом, то надо в .htaccess установить кодировку по умолчанию:
AddDefaultCharset UTF-8

  Ответить  
 
 автор: Владимир55   (29.10.2009 в 18:47)   письмо автору
 
   для: coloboc66   (29.10.2009 в 17:24)
 

Интересная идея!

У меня в .htaccess записано:

RemoveHandler .html .htm 
AddType application/x-httpd-php .php .htm .html 


Если добавить строку

AddDefaultCharset UTF-8

то Денвер отказывается работать.

Нужна другая запись?

  Ответить  
 
 автор: shadowmaster63   (30.10.2009 в 09:16)   письмо автору
 
   для: Владимир55   (29.10.2009 в 18:47)
 

Вам уже ответили что скрипт пишет в файл байты а кодировка это способ отображения файла !!!
Где то видел строку в другую кодировку переделывали вот это мне кажется правильно.

  Ответить  
 
 автор: coloboc66   (30.10.2009 в 10:44)   письмо автору
 
   для: Владимир55   (29.10.2009 в 18:47)
 

Если эту запись не понимает денвер, то на реальном сервере вам нужно проконсультироваться у хостера, как установить по умолчанию Юникод. А вообще смысл следующий: если у вас в заголовках страниц указан Юникод, то при записи кириллицы в файл она и будет кодироваться в Юникоде. То есть запись в .htaccess как бы и непринципиально важна, но перестраховаться не помешает. Это МОЁ мнение.
Потому что, к примеру, у моего хостера русский апач, и там по умолчанию стоит не знаю что, но не Юникод. И меня спасает только AddDefaultCharset UTF-8

  Ответить  
 
 автор: Владимир55   (30.10.2009 в 11:54)   письмо автору
 
   для: coloboc66   (30.10.2009 в 10:44)
 

Понял.

Спасибо!

  Ответить  
 
 автор: Meh4nik   (03.07.2015 в 13:18)   письмо автору
 
   для: Trianon   (29.10.2009 в 13:19)
 

И у файла utf8 есть заголовок 3 байта

  Ответить  
 
 автор: Igorek   (04.07.2015 в 10:03)   письмо автору
 
   для: Meh4nik   (03.07.2015 в 13:18)
 

BOM'а может и не быть

  Ответить  
 
 автор: Meh4nik   (03.07.2015 в 13:18)   письмо автору
 
   для: Trianon   (29.10.2009 в 12:49)
 

файл будет создан в ansi as utf8 в данном случае

  Ответить  
 
 автор: Igorek   (04.07.2015 в 10:03)   письмо автору
 
   для: Meh4nik   (03.07.2015 в 13:18)
 

нет такой кодировки

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

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