Prashanthi Kakarla Ответов: 2

Печать специальных символов при выполнении консольного приложения java в командной строке windows


Связано с консольным приложением java,
Ниже оператор print печатает специальные символы, если я запускаю java-приложение из eclipse
System.out.println("hello..测试,收到不用理会")

Если я выполняю консольное приложение(.jar) из командной строки windows, я вижу мусор
как показано ниже
hello..?????????

Есть решение?

Что я уже пробовал:

public class App {
	
	public static void main(String[] args)
			throws JsonGenerationException, JsonMappingException, IOException, AtlasException {
		System.out.println("hello.."+"测试,收到不用理会");
}

2 Ответов

Рейтинг:
2

phil.o

Так этот пост может помочь вам:
Как правильно печатать китайские иероглифы на консоли windows?[^]
Технически, вы ничего не можете сделать из кода; это просто вопрос конфигурации консоли Windows.


Prashanthi Kakarla

Мое требование состоит в том, чтобы сохранить сообщение(не имеет значения, китайские или любые другие символы) в файл
<prev>
String test = "hello.."+"测试 , 收到不用理会";
com.fasterxml.jackson.databind.ObjectMapper mapper = new com.fasterxml.jackson.databind.ObjectMapper();
mapper.writeValue(новый файл("C:\\testpayload\\transformed.json"), тест);

Можно ли установить кодировку в com.fasterxml.jackson.databind.ObjectMapper.writeValue()?

phil.o

Это так пост Делас с того что:
Jackson ObjectMapper с кодировкой UTF-8?[^]
Если UTF-8 не подходит, то UTF-16 должен.

Рейтинг:
2

Dave Kreskowiak

Возможно, вы захотите посмотреть видео Скотта Хансельмана на эту же тему:

Компьютерные вещи, которым вас не учили в школе № 2 - кодовые страницы, кодировка символов, Unicode, UTF-8 и BOM - Скотт Хансельман[^]


phil.o

Полезная ссылка :)
:большой палец вверх: