[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Кодировка при создании нового файла с помощью php
Страницы: 1, 2, 3
zelenuy
Хочу чтобы мой скрипт создавал новые файлы в кодировке UTF-8
Пример скрипта:
<?php
$s = "<?php echo 'Hello, world!';?>";
$f = fopen("file.php", "w+");
fputs($f, $s, strlen($s));
fclose($f);
?>

После запуска, скрипт создаст новый файл "file.php" но с кодировкой ANSI, а если я немного изменю скрипт, поменяю стоку 'Hello, world!' на "Привет Вася!", то новый файл будет в кодировке UTF-8, то есть чтобы его заставить кодировать в UTF мне нужно добавлять русские символы.
Пример:
<?php
$s = "<?php echo 'Привет Вася!';?>";
$f = fopen("file.php", "w+");
fputs($f, $s, strlen($s));
fclose($f);
?>

Вопрос такой как мне заставить скрипт создавать новые файлы только в UTF не используя русские символы?
twin
У файла нет свойства "кодировка". Что именно имелось ввиду под
Цитата
новые файлы только в UTF
?

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
linker
Либо свой скрипт конвертнуть в utf-8 либо весь вывод в файла прогонять через iconv().

_____________
Gear Framework
Gear Framework на Github
zelenuy
Сам скрипт в UTF-8.
Вот скрины

Пример 1:
user posted image
Результат:
user posted image

Пример 2:
user posted image
Результат:
user posted image

Обратите внимание на кодировку результата в обоих примерах
zelenuy
Цитата (twin @ 30.01.2014 - 11:22)
У файла нет свойства "кодировка". Что именно имелось ввиду под
Цитата
новые файлы только в UTF
?

На пример я хочу что бы скрипт сам создавал сайт, но не дело получиться если все файлы сайта будут созданы в разных кодировках.
Вот я и ищу способ как обойти эту проблему
zelenuy
Цитата (linker @ 30.01.2014 - 11:27)
Либо свой скрипт конвертнуть в utf-8 либо весь вывод в файла прогонять через iconv().

Но файл скрипта и так в юникоде huh.gif
Это будет выглядеть так : iconv("UTF-8", "UTF-8", "Hello, world!")
linker
Ну ещё предположение, я не знаю Notepad++ но может он не видит utf-8 без BOM.

_____________
Gear Framework
Gear Framework на Github
twin
linker
У него другая проблема. Он просто не понял, как это устроено. Он создает файл с латиницей и смотрит кодировку в редакторе. Так как это латиница, редактор выдает ему дефолт. А по дефолту у него ANSI. Он не понимает, что это не кодировка файла, а просто настройка редактора. А вот если он пишет в файл кирилицу в UTF-8, то редактор уже ориентируется на это.

Нет у файла кодировки. Кодировка есть только у текста. Более того, в один файл можно записать текст в разных кодировках.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
zelenuy
Цитата (linker @ 30.01.2014 - 12:11)
Ну ещё предположение, я не знаю Notepad++ но может он не видит utf-8 без BOM.

user posted image
Noteped считаю одним из лучших rolleyes.gif (имхо)
zelenuy
Цитата (twin @ 30.01.2014 - 12:15)
linker
У него другая проблема. Он просто не понял, как это устроено. Он создает файл с латиницей и смотрит кодировку в редакторе. Так как это латиница, редактор выдает ему дефолт. А по дефолту у него ANSI. Он не понимает, что это не кодировка файла, а просто настройка редактора. А вот если он пишет в файл кирилицу в UTF-8, то редактор уже ориентируется на это.

Нет у файла кодировки. Кодировка есть только у текста. Более того, в один файл можно записать текст в разных кодировках.

Дефолт в редакторе у меня UTF-8 без БОМ, меня сенсей мой учил пользоваться всегда тока юникодом и не приучать себя к ср-1251 rolleyes.gif
Просто если я подключаю эти файлы с разной кодировкой в один то получаю на выходе прекрасные китайско-японские ероглифы
linker
А где они получаются эти иероглифы? В Notepad++ или в браузере?

_____________
Gear Framework
Gear Framework на Github
zelenuy
В браузере, все что на русском было в файле с ANSI будет перевернуто, а все что на русском было в файле с UTF все отобразиться нормально
zelenuy
Хотя уже не переворачивает huh.gif странно
Ааа понял если в файл ANSI добавлю русские символы то все переворачивает
twin
zelenuy
Цитата
Дефолт в редакторе у меня UTF-8 без БОМ, меня сенсей мой учил пользоваться всегда тока юникодом и не приучать себя к ср-1251
Дефолт там ANSI. Я еще раз говорю - забудьте такое словосочетание "кодировка файла" Нет такого понятия. Кодировка, это сопоставление кода символа таблице символов. Какой файл еще. Если есть кирилица, закодированная в UTF-8, редактор и реагирует на это. А если латиница, то и пишет ANSI, так как латиница в любой кодировке одинакова. По одной латинице нельзя определить, в какой кодировке изначально она писалась. Потому и всегда будет ANSI. Ну если маркер BOM не поставить.

_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.

Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.

Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.

user posted image
zelenuy
user posted image
Это стоит по умолчанию в настройках
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.