1. Соблюдайте Правила форума и проявляйте уважение к другим участникам беседы.

Проблема с кодировкой.

Тема в разделе 'Кодинг/Собственные решения', создана пользователем Anonymous, 8 мар 2009.

  1. Anonymous Guest

    Сообщения:
    0
    Спасибы:
    0
    Очень интересное свойство у гхоста. Если выводить строку через внешний файл - она работает нормально. Однако стоит написать что-то на русском в исходнике - он игнорирует все. В С++ не селен. Может кто поможет?
  2. JiLiZART Администрация

    Сообщения:
    814
    Спасибы:
    34
    Сборка бота GHost:
    Ghost++ 17.1
    Дата начала использования бота:
    12.12.04
    Скорее всего нужно текст преобразовывать в нужную кодировку =)
  3. Anonymous Guest

    Сообщения:
    0
    Спасибы:
    0
    В c++ есть что-то на подибии iconv(php)?
  4. Anonymous Guest

    Сообщения:
    0
    Спасибы:
    0
    Смотря что ты хочеш написать по русски есле первод то допеши переводчик а есле нужна кодеровка в которой бател будет понимать русские буквы поробуй эту UTF8
  5. Anonymous Guest

    Сообщения:
    0
    Спасибы:
    0
    мне нужна кодировка исходников. и я уже разобрался =)
  6. Anonymous Guest

    Сообщения:
    0
    Спасибы:
    0
    знает кто как менять цвет шрифта в Варе? тот же стандартный отсчёт в начале игры: "5-4-3-2-1" обычно красный. как задать цвет ?!
  7. JiLiZART Администрация

    Сообщения:
    814
    Спасибы:
    34
    Сборка бота GHost:
    Ghost++ 17.1
    Дата начала использования бота:
    12.12.04
    Не меняется цвет чата в варе, как не пляши
  8. linux Ньюфаг

    Сообщения:
    33
    Спасибы:
    0
    автор, попробуй пропустить данные через эту функцию:
    Код:
    function UTF8ToWin($s) {
    global $euDefaultLetter, $euUTF8Win1251;
    $toRet = "";
    $i = 0; $len = strlen($s);
    while ($i < $len) {
    $c = ord($s[$i]);
    if ($c < 0x80) { $toRet = $toRet . chr($c); $i++; }
    else if ($c >= 0xC0) {
    $u = $c; $j = $i + 1;
    while ($j < $len) {
    $c = ord($s[$j]);
    if (($c < 0x80) || ($c >= 0xC0)) break;
    else { $u = ($u<<8) | $c; $j++; }
    }
    if (IsSet($euUTF8Win1251[$u])) $toRet = $toRet . chr($euUTF8Win1251[$u]);
    else $toRet = $toRet . $euDefaultLetter;
    $i = $j;
    }
    else { $toRet = $toRet . $euDefaultLetter; $i++; }
    }
    return($toRet);
    }
    должно помочь
  9. Anonymous Guest

    Сообщения:
    0
    Спасибы:
    0
    2linux, изыйди, извращенец. И ник измени. То, что ты написал - не Unix-way.
    2Автор, используй notepad++, это хоть и не полноценная IDE, но для госта вполне подходит. Умеет работать с как юникодом, так и с cp1251...
  10. linux Ньюфаг

    Сообщения:
    33
    Спасибы:
    0
    дружок, не указывай что мне делать ;)

    как я понял, что ему нужно было из UTF => Win перекодировать вот и выложил что было
  11. Fox_Mulder Ньюфаг

    Сообщения:
    34
    Спасибы:
    0
    Автор напиши как решил проблему, она актуальна
  12. Majitelle Ньюфаг

    Сообщения:
    8
    Спасибы:
    0
    Все верно , NotePad++ пишем в нем по русски потом задаем кодировку UTF8 и сохраняем в файл txt