ФорумПрограммированиеPHP для идиотов → PHP вывод данных - txt, кодировка

PHP вывод данных - txt, кодировка

  • Lionis

    Сообщения: 15 Репутация: N Группа: Кто попало

    Spritz 14 декабря 2008 г. 2:11

    Доброе время суток уважаемые пользователи форума//
    У меня проблема с кодировкой - при выводе данных из .txt
    в самом текстовом файле написано слово "проверка" - но отображается как "аПб�аОаВаЕб�аКаА" //
    но если же использовать латинские буквы - тогда все корректно отображается .
    вот собственно сам код вывода из file.txt>>>
    <?php
    $fp=fopen("file.txt","r");
    $s=fread($fp,40000);
    echo $s;
    fclose($fp);
    ?>

    в чем может быть проблема?
  • sap

    Сообщения: 2701 Репутация: N Группа: Кто попало

    Spritz 14 декабря 2008 г. 2:13, спустя 2 минуты 3 секунды

    В какой кодировке файл, в какой кодировке скрипт и какая кодировка отдается в content-type?
    Могу сразу сказать, что они должны быть одинаковые.
  • Lionis

    Сообщения: 15 Репутация: N Группа: Кто попало

    Spritz 14 декабря 2008 г. 2:23, спустя 10 минут 15 секунд


    В какой кодировке файл, в какой кодировке скрипт и какая кодировка отдается в content-type?
    Могу сразу сказать, что они должны быть одинаковые.

    кодировка - UTF-8
  • sap

    Сообщения: 2701 Репутация: N Группа: Кто попало

    Spritz 14 декабря 2008 г. 2:29, спустя 6 минут 13 секунд

    Везде? И в файле, и в скрипте? Попробуй перед echo написать:
    header("Content-type: text/html; charset=UTF-8");
  • Lionis

    Сообщения: 15 Репутация: N Группа: Кто попало

    Spritz 14 декабря 2008 г. 2:30, спустя 58 секунд

    этот код использую для ввода :
    <?php
    if($_POST['content']){
    $fh = fopen("file.txt", "w");
    fwrite($fh, $_POST['content']);
    fclose($fh);
    }
    ?><form method=post>
    <textarea name=content cols="100" rows="10"><?php echo file_get_contents("file.txt"); ?></textarea>
    <input type=submit value="Отправить">
    </form>
  • sap

    Сообщения: 2701 Репутация: N Группа: Кто попало

    Spritz 14 декабря 2008 г. 2:34, спустя 3 минуты 18 секунд

    <?php
    if($_POST['content']){
    $fh = fopen("file.txt", "w");
    fwrite($fh, $_POST['content']);
    fclose($fh);
    }
    header("Content-type: text/html; charset=UTF-8");
    ?><form method=post>
    <textarea name=content cols="100" rows="10"><?php echo file_get_contents("file.txt"); ?></textarea>
    <input type=submit value="Отправить">
    </form>

    И если уж юзаешь file_get_contents, то юзай и file_put_contents.
  • Lionis

    Сообщения: 15 Репутация: N Группа: Кто попало

    Spritz 14 декабря 2008 г. 2:35, спустя 1 минуту 33 секунды


    <?php
    if($_POST['content']){
    $fh = fopen("file.txt", "w");
    fwrite($fh, $_POST['content']);
    fclose($fh);
    }
    header("Content-type: text/html; charset=UTF-8");
    ?><form method=post>
    <textarea name=content cols="100" rows="10"><?php echo file_get_contents("file.txt"); ?></textarea>
    <input type=submit value="Отправить">
    </form>

    И если уж юзаешь file_get_contents, то юзай и file_put_contents.

    это поможет?
  • sap

    Сообщения: 2701 Репутация: N Группа: Кто попало

    Spritz 14 декабря 2008 г. 2:37, спустя 2 минуты 14 секунд

    Должно. Если и скрипт и файл в UTF-8.
  • Lionis

    Сообщения: 15 Репутация: N Группа: Кто попало

    Spritz 14 декабря 2008 г. 2:38, спустя 59 секунд


    Должно. Если и скрипт и файл в UTF-8.

    нет - не помогло…
  • welder

    Сообщения: 2945 Репутация: N Группа: в ухо

    Spritz 14 декабря 2008 г. 2:43, спустя 4 минуты 21 секунду

    а в браузере кодировку попробуй поменять
  • welder

    Сообщения: 2945 Репутация: N Группа: в ухо

    Spritz 14 декабря 2008 г. 2:45, спустя 2 минуты 11 секунд

    в php.ini что стоит в

    ; PHP's built-in default is text/html
    default_mimetype
    default_charset
  • Lionis

    Сообщения: 15 Репутация: N Группа: Кто попало

    Spritz 14 декабря 2008 г. 2:46, спустя 1 минуту 18 секунд

    но самое интересное - что в админке после сохранения изменения - все корректно отображается…кирилица.
  • welder

    Сообщения: 2945 Репутация: N Группа: в ухо

    Spritz 14 декабря 2008 г. 2:53, спустя 6 минут 47 секунд

    у тебя скорей всего
    <?php
    if($_POST['content']){
    $fh = fopen("file.txt", "w");
    fwrite($fh, $_POST['content']);
    fclose($fh);
    }
    ?><form method=post>
    <textarea name=content cols="100" rows="10"><?php echo file_get_contents("file.txt"); ?></textarea>
    <input type=submit value="Отправить">
    </form>


    не в utf-8

    или file.txt не в utf-8

  • Lionis

    Сообщения: 15 Репутация: N Группа: Кто попало

    Spritz 14 декабря 2008 г. 11:08, спустя 8 часов 14 минут 36 секунд

    Большое спасибо - все получилось .

Пожалуйста, авторизуйтесь, чтобы написать комментарий!