URL伝達中国語文字化けし問題

1038 ワード

urlがバックグラウンドサーバに中国語を渡すと文字化けしの問題が発生し、プロジェクトの進行に影響します.
文字化けしの原因は,フロントバックグラウンドとデータベース設定の符号化が異なるためである.
データを統一的に処理するには、ブラウザとサーバが二次符号化しません.
フロントのコード:
<c:if test="${status.index<=4 }">
								<li><a
									href="javascript:toChange('${vehicle.vehicleNo }');">${vehicle.vehicleNo }</a></li>
							</c:if>
<script type="text/javascript">
		function toChange(name) {
			var uriname = "/zjxl/user/main?appid=<%=appid%>&vehicleno=" + name;
			//window.open(encodeURI(uriname));
			window.location.href = encodeURI(uriname);
		}
	</script>

window.open(encodeURI(uriname)); 新しいページを開きます.
window.location.href = encodeURI(uriname); このページでジャンプ
バックグラウンドのサーバ:
vehicleno = java.net.URLDecoder.decode(vehicleno, "UTF-8");
vehicleno = new String(vehicleno.getBytes("iso-8859-1"), "utf-8");

ok