Я написал небольшую программу:
public static void main(String[] args) {
System.out.println("\u00a5123");
}
Вывод:
¥ 123
т.е. он выводит именно то, что вы заявили в своем посте. Я не уверен, что больше ничего не происходит. Какую версию Java вы используете?
редактирование:
В ответ на ваше разъяснение есть пара различных техник. Самый простой способ - найти «\ u», за которым следуют 4 символа шестнадцатеричного кода, извлечь этот фрагмент и заменить его версией с кодировкой Юникод на шестнадцатеричный код (используя класс Character). Это, конечно, предполагает, что перед строкой не будет \ u.
Мне неизвестна какая-либо конкретная система для анализа строки, как если бы она была закодированной строкой Java.