Если строка содержит "Prot\u00e9g\u00e9"
, это исключает проблему с кодировкой компилятора (как указано в SyntaxT3rr0r), поскольку теперь она является правильной в строке Java (если нет ошибки компилятора, которую я хотел быне предполагается).
Таким образом, у нас есть проблема между выводом, передачей и отображением.Как вы смотрите на вывод с вашего сервера?Возможно, что где-то есть какая-то перекодировка, которая разрушает ваши строки.Или что где-то некоторые выходные данные объявлены неправильно.
Если вы используете окно терминала / команды для просмотра выходных данных, рассмотрите возможность установки его в UTF-8 перед подключением к серверу.
И да, Java использует внутренне UTF-16 для строк, но некоторую системно-зависимую кодировку как кодировку по умолчанию для компилятора, так и кодировку по умолчанию для OutputStreamWriter / InputStreamReader и нескольких других API, которые преобразуют строки и байты.Похоже, это UTF-8 на сервере и Windows-1252 на вашей клиентской системе.Здесь это не должно иметь большого значения.