За последние 24 часа нас посетил 18001 программист и 1613 роботов. Сейчас ищут 878 программистов ...

Не получается перевести кодировку dbf файла

Тема в разделе "PHP для новичков", создана пользователем Errrrorrrr, 26 июн 2017.

  1. Errrrorrrr

    Errrrorrrr Новичок

    С нами с:
    28 июл 2016
    Сообщения:
    43
    Симпатии:
    0
    Здравствуйте.
    Данных думаю хватит для того, чтобы спец в этом помог решить вопрос.
    У меня есть dbf файл, с помощью стандартных функций я беру из него информацию. И проблема в том, что строки имеют кривую кодировку. В заголовке страницы прописана кодировка utf-8. Автоопределение кодировки строки результата не дает. Только после некоторого шаманства вроде определило кодировку как ISO-8859-1, но это вроде не то. Путем опытных методов я установил, что кодировка этих строк win-1251. (Просто напросто прописал её в заголовке и кракозябры превратились в нужный текст.) И вроде все хорошо, но строки мне все же нужно перевести в UTF-8. И тут началось.. Как я только ни пробовал: с помощью iconv, с помощью mb_convert_encoding . Я пробовал писать CP1251, Windows-1251, win1251 и т.п. В общем, наверное испробовал все варианты.(Может нет?) И все равно выводятся кракозябры. При этом если я перевожу с помощью mb_convert и передам параметрами входную и выходную кодировку WINDOWS-1251. (Одну и ту же, которая у строк) То выводятся корректные строки. И если в mysql заносить в таблицу с полем, у которой кодировка CP1251, то тоже кракозябры.. Каким образом можно перевести кодировку этих строк в UTF-8 и сохранить нормальный текст? Заранее спасибо за помощь.
     
    #1 Errrrorrrr, 26 июн 2017
    Последнее редактирование: 27 июн 2017
  2. Алекс8

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

    С нами с:
    18 май 2017
    Сообщения:
    1.730
    Симпатии:
    359
    что mb_convert_encoding не помогает?? как именно не помогает? что пишет? что выдает..
     
  3. Errrrorrrr

    Errrrorrrr Новичок

    С нами с:
    28 июл 2016
    Сообщения:
    43
    Симпатии:
    0
    Конкретно выдает новую строку с новыми кракозябрами. Ошибок нету
    --- Добавлено ---
    Могу скинуть кракозябры сами, они разные в большинстве случаев, может по ним возможно определить)
     
  4. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.819
    Симпатии:
    1.333
    Адрес:
    Лень
    сам скрипт в какой кодировке ?
     
  5. Errrrorrrr

    Errrrorrrr Новичок

    С нами с:
    28 июл 2016
    Сообщения:
    43
    Симпатии:
    0
    UTF-8(Без бум)
     
  6. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.819
    Симпатии:
    1.333
    Адрес:
    Лень
    запости файл ссылкой
     
  7. Errrrorrrr

    Errrrorrrr Новичок

    С нами с:
    28 июл 2016
    Сообщения:
    43
    Симпатии:
    0
    не совсем понял как сылкой, вот просто в txt формат поменял
    --- Добавлено ---
    а вот, сам dbf, если нужен
     

    Вложения:

    • update2.txt
      Размер файла:
      362 байт
      Просмотров:
      2
    • file.zip
      Размер файла:
      4,1 КБ
      Просмотров:
      1
  8. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.819
    Симпатии:
    1.333
    Адрес:
    Лень
    header('Content-Type: text/html; charset=win-1251');
    :eek:
     
  9. Errrrorrrr

    Errrrorrrr Новичок

    С нами с:
    28 июл 2016
    Сообщения:
    43
    Симпатии:
    0
    Что здесь не так?)
    --- Добавлено ---
    Только так echo $one выводит не кракозябры. Но этого мне не надо) Мне нужно чтобы при utf-8 не было кракозябр
     
  10. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.819
    Симпатии:
    1.333
    Адрес:
    Лень
    удали эту строку
     
  11. Errrrorrrr

    Errrrorrrr Новичок

    С нами с:
    28 июл 2016
    Сообщения:
    43
    Симпатии:
    0
    Убрал, теперь один из выводов вопросики кидает, другой кракозябры
     
  12. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.819
    Симпатии:
    1.333
    Адрес:
    Лень
  13. Errrrorrrr

    Errrrorrrr Новичок

    С нами с:
    28 июл 2016
    Сообщения:
    43
    Симпатии:
    0
    Не пойму, что это значит?)
    --- Добавлено ---
    Какая тут кодировка?
     
  14. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.819
    Симпатии:
    1.333
    Адрес:
    Лень
  15. Errrrorrrr

    Errrrorrrr Новичок

    С нами с:
    28 июл 2016
    Сообщения:
    43
    Симпатии:
    0
    Спасибо большое, по итогу помогла следующая манипуляция:

    Код (Text):
    1.             $rel = convert_cyr_string ( $one , 'd' , 'w' );
    2.             echo iconv('windows-1251', 'utf-8', $rel);