中国語の問題は、アプリケーションでよく発生する問題です。
これには、文字デコード操作が含まれます。多くの場合、new String(fieldType.getBytes("iso-8859-1")、"UTF-8") を使用してデコードします。ただし、この方法は特定のアプリケーション環境によって制限され、アプリケーションのデプロイ環境が変わると中国語の文字化けが発生することがよくあります。
ここでは、あらゆるアプリケーション展開環境で使用できるソリューションを紹介します。この方法には次の 2 つのステップがあります。
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") を使用してデコードします。
-------------------------------------------------- ------------------------
iframeのparent.window.location.hrefとsrcが文字化けする問題。
これら 2 つの URL アドレスで中国語を送信するには、エンコードしてからデコードする必要があります。
エンコード: encodeURI(encodeURI("中国語を含む文字列"))
デコード: java.net.URLDecoder.decode("デコードする文字列", "utf-8");