|
|
|
| Вот возникла необходимость сделать так:
file_put_contents('текст.txt', $text ."\n\n", FILE_APPEND);
|
Сервер на винде. Везде используется кодировка в utf-8. При сохранении получаю кракозябры.txt. Подскажите как сохранить файл с рускими буковками в названии. | |
|
|
|
|
|
|
|
для: Zezst
(07.02.2013 в 23:45)
| | Вот возникла необходимость сделать так:
Расскажите поподробнее зачем вам это понадобилось?
Есть же старый добрый транслит, на худой конец. | |
|
|
|
|
|
|
|
для: Valick
(08.02.2013 в 00:04)
| | Мне почему-то кажется, что неважно по какой причине понадобилось.
С латиницей никаких проблем. Проблема начинается когда нужны именно руские буковки в названии. При этом оказалось неважно на чем стоит сервер. В Linux сервере все аналогичным образом. Кракозябры вместо букаф.
При этом из скриптов отображаеться все нормально. А вот при просмотре через проводник абракадабра.
Но если вы считаете, что знание зачем поможет вам:
например сохраняю понравившуюся статью на работе в "название статьи.maff" и отправляю файл домой. дома стоит сервачок который принимает файл и делает сортировку. дома, естетсвенно, файл ищу не через скрипт , а через проводник. и вот как то в лом мне занимать мозг такой фигней как конвертация буковок туда обратно.
.maff - это https://addons.mozilla.org/ru/firefox/addon/mozilla-archive-format/
Это всего лишь пример, когда может понадобится кирилица в названии файлов. | |
|
|
|
|
|
|
|
для: Zezst
(08.02.2013 в 00:23)
| | А написать нормальный веб-интерфейс с использованием БД, где и хранить оригинальное название можно как угодно, да и возможностей сортировки ничем не переплюнешь? | |
|
|
|
|
98.9 Кб |
|
|
для: Valick
(08.02.2013 в 00:28)
| | Ага. и вас даже не смутило что к файлам я обращаюсь из ОС'и.
Немного проясню:
дома есть 4 компа
они объеденениы в локалку по гигабитному шнурку
компы принадлежат к разным товарищам
харды расшарены и подключены как сетевые
на одном компе стоит сервачок который смотрит в инет
на нем стоит скрипт приемки любого файла и сохранение его на диск
просто как обычный файл
не в базу данных
для любого из локалки это оюычный сетевой диск
и он может взять файл и переименовать его как хочет
или скопировать его
или удалить
файлы прекрасно открываются предназначенными для них программами
но какой смысл открывать файл, если по названию можно определить о чем он
или что в нем есть
Я так понимаю, вы хотите меня убедить что товарищам проще открыть, не проводник с нужной папкой, а браузер. В нем подключиться под своей учеткой. Найти/выбрать нужный файл. Сохранить его к себе на компьютер и только после этого иметь возможность открыть файл?
В прикрепленном файле пример как это есть сейчас.
И кстати да. Под файлопомойкой у меня RAID из 3-х хардов по 3 террабайта (из них около 6 террабайт занято). И даже если заморочиться и сделать как вы предлагаете все в БД... Ну вы надеюсь поняли абсурдность предложения? | |
|
|
|
|
|
|
|
для: Zezst
(07.02.2013 в 23:45)
| | а какой результат, если php-скрипт, который файл сохраняет, в cp1251 кодировке сохранить? | |
|
|
|
|
|
|
|
для: Igorek
(08.02.2013 в 05:43)
| | Еще не пробовал. Но cp1251 разве не вин кодировка? Просто в Linux остается таже проблема. И даже если поможет - как такой скрипт использовать если все остальные скрипты в utf-8?
Опробовать к сожалению смогу только часа через три. Как проверю отпишусь. | |
|
|
|
|
|
|
|
для: Igorek
(08.02.2013 в 05:43)
| | А знаете. Помогло!
Только теперь немного другая проблема. Все на сайте выполняется в кодировке utf-8 и содержимое файла должно быть в кодировке utf-8. И при этом хотелось бы иметь читаемое название файла в проводнике.
Спасибо за совет. Буду копать дальше. | |
|
|
|
|
|
|
|
для: Zezst
(08.02.2013 в 10:05)
| | попробуйте iconv'ом конвертить имя файла, а кодировку самог файла верните обратно на utf8 | |
|
|
|
|
|
|
|
для: Zezst
(08.02.2013 в 10:05)
| | Долго же вы толчете - не к содержимому нужно iconv() применять, а к имени файла. | |
|
|
|
|
|
|
|
для: confirm
(08.02.2013 в 10:19)
| | Спасибо. Как то совсем упустил.
file_put_contents(iconv("utf-8", "cp1251", "текст.txt"), $text ."\n\n", FILE_APPEND);
|
Все сработало как надо. | |
|
|
|