16°C
завтра: 19°C
Погода в Перми
16°C
ночью17°C
утром16°C
завтра19°C
Подробно
 66,61
+0.6121
Курс USD ЦБ РФна 20 августа
66,6082
+0.6121
 73,95
+0.7257
Курс EUR ЦБ РФна 20 августа
73,9484
+0.7257
PRM.Форум /Компьютеры Интернет Связь / Программирование /

PHP: Кавычки в читаемых/записываемых файлах

  • Есть текстовые файлы на сервере.

    Есть php-скрипт, который читает выбранный файл и выводит его содержимое в textarea. Далее файл редактируется, жмется кнопка ОК, содержимое из textarea пишется обратно в файл.

    Трабла: при записи все кавычки, которые есть в тексте в textarea принудительно экранируются ' \" '.
    И в итоге имеем ' \"Microsoft\" corporation can't make good soft '

    Как победить?

    Когда проснулся, тогда и "Доброе утро!"

  • как насчет
    string stripslashes (string str)

  • Thnx.

    Когда проснулся, тогда и "Доброе утро!"

  • Еще один прикол:

    описанные текстовые файлы все в кодировке koi8. При чтении в вышеупомянутую textarea и последующем сохранении с кодировками ничего не делаю.
    Некоторые файлы при сохранении остаются в той же кодировке, а некоторые переходят в Win.
    Причем это не случайным образом, а постоянно одни и те же файлы.
    (Уже пробовал принудительную перекодировку convert_cyr_string($str, "w", "k"); именно этим файлам делать - не помогает).

    Может кто-нить такое объяснить?

    Когда проснулся, тогда и "Доброе утро!"

    Исправлено пользователем Поручик Голицын (28.04.04 12:52)

  • Поправочка:
    перекодировка помогает.

    Вот только один и тот же "капризный" файл еще и ведет себя по-разному в зависимости от того, были сделаны изменения или нет.

    Когда проснулся, тогда и "Доброе утро!"

  • какая-то фантастика. Форма-то одна и та же, всегда с сервера? Иэ кэша с другими заголовками и META-тэгом ничего не вылезает?

  • Сам знаю, что фантастика :).

    А результаты исполнения php разве на машине кэшируются? Я со страницы на страницу не по ссылкам перехожу, а по кнопке из формы

    Когда проснулся, тогда и "Доброе утро!"

  • [цвет:blue]Рђ результаты исполнения php разве РЅР° РјР°С?РёРЅРµ РєСЌС?ируются?[/цвет]
    если честно - РЅРµ РїРѕРјРЅСЋ, это может РѕС‚ броузера зависеть. (Кажется, Опера РІСЃРµ-таки РєСЌС?ирует - СЏ РїРѕРјРЅСЋ, что всегда после ее установки ставлю РІ настройках РєСЌС?Р° "check documents" РІ "always" ). Р?ли РѕС‚ настроек промежуточного РїСЂРѕРєСЃРё-сервера.
    Можно тупо временно переименовать php-файл, чтобы это исключить.

  • а теперь по-русски, плиз....:улыб:
    я такие кракозябры читать не умею....

    Когда проснулся, тогда и "Доброе утро!"

  • (о, ай м сорри.)

    У меня однажды была такая ситуация: сервер (старый Apache под Linux) отдавал страницы так, что они всегда попадали в кэш броузеров, причем php'шные - тоже. В чем дело было уже не помню, я не стал разбираться (сервер был тестовый), а просто подкрутил клиента - изменил настройки кеша Оперы.

    А выглядело это действительно с виду странно: мне вываливались из кэша страницы со старыми данными и старым html-кодом (почему я и предположил - может из кэша поднимается страница с другой кодировкой?)

  • >>Вот только один и тот же "капризный" файл еще и ведет себя по-разному в зависимости от того, были сделаны изменения или нет.

    могу предположить, что сделав изменения и отправив данные
    - ты то, что отрисовывалось в texarea невольно (не без помощи
    браузера, который выставил с бухты-барахты другую, отличную
    от твоей, кодировку) получаешь в такой кодировке, которую не ждешь)))
    ты думаешь, что тебе придёт koi-8r, а приходит windows-1251...
    и изменения в кодировке windows-1251 ты пишешь в файл, который
    позже хочешь прочитать как koi-8r. Хотя могет у тя ещё что-нить
    не так происходит?


    да, попутно... выставление charset в теге META - не гарантирует, что страница
    отрисуется именно в той кодировке, что ты указал. Apache может выплюнуть
    в поток свою кодировку, и то, что в мета-теге - просто побреется)))
    как выход, можешь средствами того же php указывать charset
    в отправляемом заголовке .... Как это сделать? - глянь маны по php )))

    PS: магии тут нет - это уже давным давно доказано.
    есть некорректное использование инструментов )))
    и врождённая лень читать маны)))

  • >>> могу предположить, что сделав изменения и отправив данные
    - ты то, что отрисовывалось в texarea невольно (не без помощи
    браузера, который выставил с бухты-барахты другую, отличную
    от твоей, кодировку) получаешь в такой кодировке, которую не ждешь)))
    ты думаешь, что тебе придёт koi-8r, а приходит windows-1251...


    На что я опираюсь и чего ожидаю:
    Все статичные хтмл-странице на сервере в кодировке кои-8. И шаблоны для пхп-скриптов тоже. И наполнители для шаблонов. Поэтому поначалу я вообще не заморачивался насчет кодировки - браузер сам все прекрасно распознавал и корректно отображал.
    И ни разу не было, чтобы он отобразил не в той кодировке. И когда тестировался этот мини-редактор, который мы счас обсуждаем, такого тоже не случалось (то есть ни с одним из тестовых файлов такой хрени не было).
    А вот когда начал подсовывать то, что реально нужно - то 3 из 10 файлов косячат.

    >>> PS: магии тут нет - это уже давным давно доказано.
    есть некорректное использование инструментов )))


    И еще есть кривой софт, который имея, казалось бы, одни и те же условия, выдает разный результат.

    Когда проснулся, тогда и "Доброе утро!"

Записей на странице:

Перейти в форум

Модератор: