За последние 24 часа нас посетили 61966 программистов и 1677 роботов. Сейчас ищут 858 программистов ...

Смена кодировки и ее определение.

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

  1. $oft

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

    С нами с:
    11 окт 2008
    Сообщения:
    113
    Симпатии:
    0
    Адрес:
    Орел
    У меня вопрос:
    Как сменить кодировку строки... сообщения.

    пример:

    $users_text = "ляляля... что то там... в неизвестной кодировке!";
    echo iconv("ISO-8859-1", "win-1251", $users_text);

    // $users_text уже в кодировке win-1251


    но как определить кодировку ISO-8859-1... может там UTF-8 или ешще какая то...



    если кто знает менее ресурсозатратный способ, скажите... :arrow:
     
  2. Mete0

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

    С нами с:
    18 дек 2006
    Сообщения:
    272
    Симпатии:
    0
    Адрес:
    Gatchina
  3. $oft

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

    С нами с:
    11 окт 2008
    Сообщения:
    113
    Симпатии:
    0
    Адрес:
    Орел
    У меня есть нелбходимость... иначе бы не спрашивал.

    А значение строки в юникод каким образом можно реализовать?
     
  4. Mete0

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

    С нами с:
    18 дек 2006
    Сообщения:
    272
    Симпатии:
    0
    Адрес:
    Gatchina
    Ммм, расскажи про неё! :)
    Понял ничего.
     
  5. $oft

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

    С нами с:
    11 окт 2008
    Сообщения:
    113
    Симпатии:
    0
    Адрес:
    Орел
    сообщения пользователей приходят с разными кодировками... дабы они были понятны всем их надо примерно к общему виду привести... вот необходимость.

    Как преобразовать значение в юникод?
    пример:

    $users_text = "ля ля ля... неизвестная кодировка";
    $users_text = какая_то_функция($users_text);
    //"ля ля ля... неизвестная кодировка" в юникоде!
     
  6. Mete0

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

    С нами с:
    18 дек 2006
    Сообщения:
    272
    Симпатии:
    0
    Адрес:
    Gatchina
    Так тебе должно быть известно в какой кодировке приходят сообщения от пользователей. И вообще, как у тебя получается что сообщения от пользователей приходят в разных "неизвестных" кодировках? :)

    http://php.net/iconv Чем он тебя не устраивает? Если тебе не известно в какой кодировке приходит текст, то ты не сможешь её преобразовать в utf8, точнее преобразовать то можно, только будет ли оно читаемо после такого преобразования.
     
  7. Mete0

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

    С нами с:
    18 дек 2006
    Сообщения:
    272
    Симпатии:
    0
    Адрес:
    Gatchina
    PHP:
    1. <?php
    2. $user_text = iconv('Кодировка X', 'UTF-8//TRANSLIT', $user_text);
    3. ?>
     
  8. Способа определить кодировку нет. Кодировки — это люди придумали. Для компьютера это однохерственный набор байт. Любая кодировка.
     
  9. $oft

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

    С нами с:
    11 окт 2008
    Сообщения:
    113
    Симпатии:
    0
    Адрес:
    Орел
    Т. Е. Кодировка Х: сюда че угодно я могу писать... компьютеру по что там, он все равно будет преобразовывать
     
  10. Mete0

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

    С нами с:
    18 дек 2006
    Сообщения:
    272
    Симпатии:
    0
    Адрес:
    Gatchina
    Да.
     
  11. $oft

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

    С нами с:
    11 окт 2008
    Сообщения:
    113
    Симпатии:
    0
    Адрес:
    Орел
    Так.. все опробовал, все работает... но только на компе. как только на сервер выкладываю, сразу все прекращает работу. пустые сообщения, как буд-то имя кодировки (windows-1251) не существует или не правильно введено.

    в чем теперь проблема?
     
  12. $oft

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

    С нами с:
    11 окт 2008
    Сообщения:
    113
    Симпатии:
    0
    Адрес:
    Орел
    Так.. все опробовал, все работает... но только на компе. как только на сервер выкладываю, сразу все прекращает работу. пустые сообщения, как буд-то имя кодировки (windows-1251) не существует или не правильно введено.

    в чем теперь проблема?
     
  13. $oft

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

    С нами с:
    11 окт 2008
    Сообщения:
    113
    Симпатии:
    0
    Адрес:
    Орел
    Так.. все опробовал, все работает... но только на компе. как только на сервер выкладываю, сразу все прекращает работу. пустые сообщения, как буд-то имя кодировки (w indows-1251) не существует или не правильно введено.

    в чем теперь проблема?