За последние 24 часа нас посетили 18464 программиста и 1697 роботов. Сейчас ищут 905 программистов ...

Не сохраняется файл в нужной кодировке

Тема в разделе "PHP для новичков", создана пользователем melihovgv, 25 фев 2013.

  1. melihovgv

    melihovgv Активный пользователь

    С нами с:
    2 мар 2011
    Сообщения:
    285
    Симпатии:
    0
    Адрес:
    Москва
    Здравствуйте,уважаемые форумчане. Помогите пожалуйста исправить ошибку кодировки.
    Код (Text):
    1. $fp = fopen('file.txt', 'w');
    2.                 fwrite($fp, iconv('UTF-8', 'UTF-8', $nolinktopurl));
    3.                 fclose($fp);
    В данной случае сохранение на локальную машину идет в кодировки utf-8 без bom. Мне бы хотелось, чтобы сохранение было в utf-8. Где я ошибаюсь?
     
  2. Dmitriy A. Arteshuk

    Dmitriy A. Arteshuk Активный пользователь

    С нами с:
    19 янв 2012
    Сообщения:
    2.445
    Симпатии:
    66
    Адрес:
    Зеленоград
    че?
     
  3. melihovgv

    melihovgv Активный пользователь

    С нами с:
    2 мар 2011
    Сообщения:
    285
    Симпатии:
    0
    Адрес:
    Москва
    Файл на локальном компьютере сохраняется в кодировке UTF-8 без BOM, мне нужно чтобы он просто сохранялся в кодировке UTF-8. Как это сделать?
     
  4. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    melihovgv, ты чего? UTF-8 без BOM и есть самый настоящий UTF-8. А сигнатура BOM давно устарела, и не рекомендуется. Это лишние байты в начале файла. Она тебе нужна?
     
  5. melihovgv

    melihovgv Активный пользователь

    С нами с:
    2 мар 2011
    Сообщения:
    285
    Симпатии:
    0
    Адрес:
    Москва
    Так я не знаю почему файлы сохраняются на локальной машине через utf-8 без bom....И поэтому выводятся кракозябры)
     
  6. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    Сохраняется нормально, а выводятся кракозябры по другой причине. Чем открываешь, чем выводишь?
     
  7. melihovgv

    melihovgv Активный пользователь

    С нами с:
    2 мар 2011
    Сообщения:
    285
    Симпатии:
    0
    Адрес:
    Москва
    Открываю браузером яндекс.хром.
     
  8. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    Ну так Хром и открывает неправильно, значит. У тебя там html или просто текстовый файл? Если html, то нужно в meta теге указывать кодировку
    Код (Text):
    1. <meta charset="UTF-8"/>
    Простые текстовые файлы браузеры открывают в кодировке по-умолчанию, не умеют определять по символам, как некоторые текстовые редакторы. Тогда, возможно, нужно открывать файл не прямо, а через скрипт-php-посредник, который будет добавлять заголовок
    Код (PHP):
    1. header("Content-type: text/plain; charset=utf-8"); 
    Вроде даже в .htaccess можно прописать кодировку для любого расширения. Для всех файлов в папке
    Код (Text):
    1. AddDefaultCharset UTF-8
    Попробуй так сделать.

    upd
    А, вот как для определенных расширений
    Код (Text):
    1. AddCharset utf-8 .xml .js .txt
     
  9. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.131
    Симпатии:
    1.251
    Адрес:
    там-сям
    по моему вас толсто троллят.
     
  10. melihovgv

    melihovgv Активный пользователь

    С нами с:
    2 мар 2011
    Сообщения:
    285
    Симпатии:
    0
    Адрес:
    Москва
    Путем добавления тега <meta http-equiv="content-type" content="text/html; charset=UTF-8"> на страницу, все стало норм.
     
  11. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    У тебя страница с расширением txt?
     
  12. melihovgv

    melihovgv Активный пользователь

    С нами с:
    2 мар 2011
    Сообщения:
    285
    Симпатии:
    0
    Адрес:
    Москва
    Пардон, что сразу не правильно уточнил, страница с расширением .html...Сейчас получается не везде все так хорошо...Попробовал все действия, сохраняет почему-то в utf-8 без bom.
     
  13. Dmitriy A. Arteshuk

    Dmitriy A. Arteshuk Активный пользователь

    С нами с:
    19 янв 2012
    Сообщения:
    2.445
    Симпатии:
    66
    Адрес:
    Зеленоград
    так а в какой нужно то? и чего ты пристал к бому то????
     
  14. melihovgv

    melihovgv Активный пользователь

    С нами с:
    2 мар 2011
    Сообщения:
    285
    Симпатии:
    0
    Адрес:
    Москва
    Нужно чтобы в utf-8 сохранялось.
     
  15. Dmitriy A. Arteshuk

    Dmitriy A. Arteshuk Активный пользователь

    С нами с:
    19 янв 2012
    Сообщения:
    2.445
    Симпатии:
    66
    Адрес:
    Зеленоград
    тебе в ней и сохраняет