GUSTAVO 11 Опубликовано 8 июня, 2017 Ребят, в исходниках добавляю русские символы, в нот пад выставляю кодировку UTF-8 без BOM, так же пробывал через кодировку Windows-1251 и просто UTF-8, компилирую сборку через build файл, его тоже такими же кодировками пробывал сохранять, и при загрузке показывает кракозяблю какую то. как правильно сделать, чтоб показывало как надо? ant -f build.xml -l compile-full.log так в build.bat записано, кто поможет, тому +)) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Angelika 622 Опубликовано 8 июня, 2017 Ребят, в исходниках добавляю русские символы, в нот пад выставляю кодировку UTF-8 без BOM, так же пробывал через кодировку Windows-1251 и просто UTF-8, компилирую сборку через build файл, его тоже такими же кодировками пробывал сохранять, и при загрузке показывает кракозяблю какую то. как правильно сделать, чтоб показывало как надо? ant -f build.xml -l compile-full.log так в build.bat записано, кто поможет, тому +)) А русские символы в игре нужны? или где , если игра то в навикате базу делай в utf8 и нужные колонки посмотри в каком формате. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
GUSTAVO 11 Опубликовано 8 июня, 2017 А русские символы в игре нужны? или где , если игра то в навикате базу делай в utf8 и нужные колонки посмотри в каком формате. Не, в игре все четко, нужно в консоле сделать, чтоб отображалось) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Gaikotsu 620 Опубликовано 9 июня, 2017 (изменено) В консоли для кириллицы используется DOS-кодировка обычно - CP866 Изменено 9 июня, 2017 пользователем Gaikotsu 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
GUSTAVO 11 Опубликовано 9 июня, 2017 В консоли для кириллицы используется DOS-кодировка обычно - CP866 Помог! Спасибо. Пакет java закодировал в windows 1251, скомпилировал и в батник запуска сервера добавил -Dfile.encoding=CP866 и все работает) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Gaikotsu 620 Опубликовано 9 июня, 2017 (изменено) а смысл всего этого? ну станет у тебя в консоли писать по русски, но зато в самом сервере могут возникнуть проблемы, т.к. CP866 это старая однобайтовая кодировка и поддерживает только 256 разных символов. Лучше уж сами логгеры, отвечающие за вывод в консоль поправь, чтобы они перед выводом производили перекодировку выводимого текста из UTF8 в CP866 Изменено 9 июня, 2017 пользователем Gaikotsu 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
GUSTAVO 11 Опубликовано 9 июня, 2017 а смысл всего этого? ну станет у тебя в консоли писать по русски, но зато в самом сервере могут возникнуть проблемы, т.к. CP866 это старая однобайтовая кодировка и поддерживает только 256 разных символов. Лучше уж сами логгеры, отвечающие за вывод в консоль поправь, чтобы они перед выводом производили перекодировку выводимого текста из UTF8 в CP866 подробнее можно? как это сделать? где они находятся и как правятся? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Gaikotsu 620 Опубликовано 9 июня, 2017 (изменено) Ну я же не знаю какую библиотеку логгирования ты используешь в сервере. к примеру в log4j в конфигурационном xml-файле можно указать, каким конкретно классом требуется обрабатывать данные для логгирования к примеру для вывода в консоль испольузется класс org.apache.log4j.ConsoleAppender, делаешь у себя наследный от этого класс, и указываешь его в качестве обработчика а в самом этом классе, в его конструкторе, просто задаешь нужную кодировку - для этого там есть метод setEncoding и всех делов по сути <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender"> <layout class="org.apache.log4j.EnhancedPatternLayout"> <param name="ConversionPattern" value="[%d{HH:mm:ss}] %5p %m%n" /> </layout> </appender> Изменено 9 июня, 2017 пользователем Gaikotsu 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
GUSTAVO 11 Опубликовано 9 июня, 2017 Ну я же не знаю какую библиотеку логгирования ты используешь в сервере. к примеру в log4j в конфигурационном xml-файле можно указать, каким конкретно классом требуется обрабатывать данные для логгирования к примеру для вывода в консоль испольузется класс org.apache.log4j.ConsoleAppender, делаешь у себя наследный от этого класс, и указываешь его в качестве обработчика а в самом этом классе, в его конструкторе, просто задаешь нужную кодировку - для этого там есть метод setEncoding и всех делов по сути <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender"> <layout class="org.apache.log4j.EnhancedPatternLayout"> <param name="ConversionPattern" value="[%d{HH:mm:ss}] %5p %m%n" /> </layout> </appender> java.util.logging.Logger; об этом речь? где находится конфигурационный xml файл? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Gaikotsu 620 Опубликовано 10 июня, 2017 Ну у тебя другая библиотека логгера. По приведенному пути похоже та же что к примеру в фениксе юзалась. ты кстати так и не указал даже что за сборка у тебя. но если сделано по аналогии с фениксом, то поищи у себя в ядре класс ConsoleLogFormatter, а там уже по содержимому понятно что делать. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
GUSTAVO 11 Опубликовано 10 июня, 2017 Ну у тебя другая библиотека логгера. По приведенному пути похоже та же что к примеру в фениксе юзалась. ты кстати так и не указал даже что за сборка у тебя. но если сделано по аналогии с фениксом, то поищи у себя в ядре класс ConsoleLogFormatter, а там уже по содержимому понятно что делать. Я так совсем запутаюсь) давай с начала, сборка l2jserver на 7 яве, мне нужно чтоб русские символы показывало нормально, а не кракозяблю, способ выше помог, просто в нот паде перекодировать. там 2 раза кликнуть. А про перекодировку логера вообще не понял. где это делается и как делается? Это в каком xml можно приметься? Я понял что мне нужно по моему логеру ток делать подобное) <appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender"> <layout class="org.apache.log4j.EnhancedPatternLayout"> <param name="ConversionPattern" value="[%d{HH:mm:ss}] %5p %m%n" /> </layout> </appender> Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
GUSTAVO 11 Опубликовано 10 июня, 2017 Ну у тебя другая библиотека логгера. По приведенному пути похоже та же что к примеру в фениксе юзалась. ты кстати так и не указал даже что за сборка у тебя. но если сделано по аналогии с фениксом, то поищи у себя в ядре класс ConsoleLogFormatter, а там уже по содержимому понятно что делать. и еще, если просто в батник запуска гейм сервера добавить - -Dfile.encoding=cp866 то это повлияет на загрузку сервера, если не считать, что начнет Русский язык показывать в консоли нормально? не изменяя кодировку java пакета в исходниках Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты