Перейти к содержанию
Авторизация  
GUSTAVO

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

Рекомендуемые сообщения

Ребят, в исходниках добавляю русские символы, в нот пад выставляю кодировку UTF-8 без BOM, так же пробывал через кодировку Windows-1251 и просто UTF-8, компилирую сборку через build файл, его тоже такими же кодировками пробывал сохранять, и при загрузке показывает кракозяблю какую то. как правильно сделать, чтоб показывало как надо?

ant -f build.xml -l compile-full.log так в build.bat записано, кто поможет, тому +))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ребят, в исходниках добавляю русские символы, в нот пад выставляю кодировку UTF-8 без BOM, так же пробывал через кодировку Windows-1251 и просто UTF-8, компилирую сборку через build файл, его тоже такими же кодировками пробывал сохранять, и при загрузке показывает кракозяблю какую то. как правильно сделать, чтоб показывало как надо?

ant -f build.xml -l compile-full.log так в build.bat записано, кто поможет, тому +))

 

А русские символы в игре нужны? или где , если игра то в навикате базу делай в utf8 и нужные колонки посмотри в каком формате.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А русские символы в игре нужны? или где , если игра то в навикате базу делай в utf8 и нужные колонки посмотри в каком формате.

Не, в игре все четко, нужно в консоле сделать, чтоб отображалось)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В консоли для кириллицы используется DOS-кодировка обычно - CP866

Изменено пользователем Gaikotsu
  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В консоли для кириллицы используется DOS-кодировка обычно - CP866

Помог! Спасибо. Пакет java закодировал в windows 1251, скомпилировал и в батник запуска сервера добавил -Dfile.encoding=CP866 и все работает)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а смысл всего этого?

ну станет у тебя в консоли писать по русски, но зато в самом сервере могут возникнуть проблемы, т.к. CP866 это старая однобайтовая кодировка и поддерживает только 256 разных символов.

 

Лучше уж сами логгеры, отвечающие за вывод в консоль поправь, чтобы они перед выводом производили перекодировку выводимого текста из UTF8 в CP866

Изменено пользователем Gaikotsu
  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а смысл всего этого?

ну станет у тебя в консоли писать по русски, но зато в самом сервере могут возникнуть проблемы, т.к. CP866 это старая однобайтовая кодировка и поддерживает только 256 разных символов.

 

Лучше уж сами логгеры, отвечающие за вывод в консоль поправь, чтобы они перед выводом производили перекодировку выводимого текста из UTF8 в CP866

подробнее можно? как это сделать? где они находятся и как правятся?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну я же не знаю какую библиотеку логгирования ты используешь в сервере.

 

к примеру в 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>
Изменено пользователем Gaikotsu
  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну я же не знаю какую библиотеку логгирования ты используешь в сервере.

 

к примеру в 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 файл?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну у тебя другая библиотека логгера.

По приведенному пути похоже та же что к примеру в фениксе юзалась.

 

ты кстати так и не указал даже что за сборка у тебя.

но если сделано по аналогии с фениксом, то поищи у себя в ядре класс ConsoleLogFormatter, а там уже по содержимому понятно что делать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну у тебя другая библиотека логгера.

По приведенному пути похоже та же что к примеру в фениксе юзалась.

 

ты кстати так и не указал даже что за сборка у тебя.

но если сделано по аналогии с фениксом, то поищи у себя в ядре класс 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>

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну у тебя другая библиотека логгера.

По приведенному пути похоже та же что к примеру в фениксе юзалась.

 

ты кстати так и не указал даже что за сборка у тебя.

но если сделано по аналогии с фениксом, то поищи у себя в ядре класс ConsoleLogFormatter, а там уже по содержимому понятно что делать.

и еще, если просто в батник запуска гейм сервера добавить - -Dfile.encoding=cp866 то это повлияет на загрузку сервера, если не считать, что начнет Русский язык показывать в консоли нормально? не изменяя кодировку java пакета в исходниках

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...