Кодировка в консоли

Discussion in 'Помощь по Nukkit' started by Leonidius, 2/2/17.

  1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
Dismiss Notice
We welcome you on our site. This site is devoted to the Nukkit project and all that is connected with him. Here you can communicate, download plugins, also many other things get acquainted! Register the account right now :3
  1. Leonidius

    Leonidius Developer (Level 2)

    Messages:
    68
    Likes Received:
    21
    Minecraft:
    Leonidius20
    Здравствуйте! Столкнулся с проблемой с кодировкой. В консоли на Windows XP весь русский текст отображается некорректно (см. скриншот). В самой игре никаких проблем нет. Подскажите, пожалуйста, как это можно исправить?
     

    Attached Files:

  2. fromgate

    fromgate Administrator

    Messages:
    681
    Likes Received:
    192
    @Leonidius
    XP - это было так давно, что уже не помню поддерживает ли она UTF-8.
    Но в этой ситуации явно выбран не тот шрифт, укажите Lucida Console — с ним как правило проблем не бывает.
     
  3. Leonidius

    Leonidius Developer (Level 2)

    Messages:
    68
    Likes Received:
    21
    Minecraft:
    Leonidius20
    Сейчас у меня уже стоит Lucida Console, проблема сохранилась.
     
  4. fromgate

    fromgate Administrator

    Messages:
    681
    Likes Received:
    192
    Ну значит ситуация такая - java выдаёт текст в одной кодировке (скорее всего в UTF-8), а консоль работает в другой.
    Консоль по умолчанию использует 866-ую кодировку.

    Вобщем варианты такие:

    1 Запускать сервер параметром -Dfile.encoding=cp866, чтобы чтобы Java для файлов использовала именно эту кодировку. При этом могут быть проблемы с файлам, которые содержат русские буквы. Их надо будет переконвертировать.
    Code:
    java.exe -Dfile.encoding=cp866 -jar nukkit.jar
    2 Запускать сервер в кодировке 1251
    Code:
    chcp 1251
    java.exe -Dfile.encoding=cp1251 -jar nukkit.jar
    При этом возможно надо будет попробовать разные шрифты для консоли.

    3 Установить альтернативную консоль, которая будет поддерживать UTF-8. Я ставил, но ещё во времена Windows 7 - работало нормально.
    Кроме того, мне встречалось упоминание, что для Windows XP был патч для консоли, который добавлял поддержку UTF-8, но действительно ли это так не знаю
     
    twixi and Leonidius like this.
  5. Leonidius

    Leonidius Developer (Level 2)

    Messages:
    68
    Likes Received:
    21
    Minecraft:
    Leonidius20
    Спасибо, помог вариант с Dfile.encoding=cp866.
     
    fromgate likes this.
  6. fromgate

    fromgate Administrator

    Messages:
    681
    Likes Received:
    192
    На всякий случай, если потом где-то будут вылезать глюки (могут прямо в игре вылезать) - проверяй кодировку файлов. Дело в том, что с точки зрения стандарта YAML - должно быть всегда в кодировке UTF-8. Но в баккит, смена кодировки файлов java всё равно влияла на кодировку yaml - приходилось вручную конвертировать. Как это реализовано по части кодировок в наккит я не знаю - мне и UTF-8 комфортно :)
     
    Leonidius likes this.

Share This Page