Китайская проблема — проблема, часто встречающаяся в приложениях.
Это потребует операций декодирования символов. В наших приложениях мы часто используем new String(fieldType.getBytes("iso-8859-1"), "UTF-8"); Однако этот метод ограничен конкретной средой приложения, и при изменении среды развертывания приложения часто появляются искаженные китайские символы.
Вот решение, которое можно использовать в любой среде развертывания приложений. Этот метод состоит из двух шагов:
1. Используйте метод escape(encodeURIComponent(fieldValue)) для кодирования на клиенте, например:
Скопируйте код кода следующим образом:
title=escape(encodeURIComponent(title)); //Это функция в js
url="<%=request.getContextPath()%>/print/printList!printTable.action?title="+title;
2. Используйте java.net.URLDecoder.decode(getRequest().getParameter("title"),"UTF-8") на сервере для декодирования.
-------------------------------------------------- --------------------------
Проблема искаженных символов в родительском.окне.location.href и src в iframe.
Чтобы передать китайский язык по этим двум URL-адресам, вам необходимо закодировать, а затем декодировать.
Кодировка: encodeURI(encodeURI("Строка, содержащая китайский"))
Декодирование: java.net.URLDecoder.decode("Строка для декодирования", "utf-8");