を使用してフォームを送信すると、form.submit()
英語以外の文字 (中国語、韓国語など) が文字化けしてデータベースに保存されます。
私はjspで次のコードを使用しています:
<%
response.setContentType("text/html;charset=utf-8");
response.setCharacterEncoding("UTF-8");
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<form name="TestForm" enctype="application/x-www-form-urlencoded" accept-charset="UTF-8" action="<%=formaction%>" method="POST">
<table>
<tr><td>Source</td><td>:</td>
<td><input type="text" name="SOURCE"> </td></tr>
<tr><td>Category</td><td>:</td>
<td><input type="text" name="CATEGORY"> </td></tr>
<tr><td>Message</td><td>:</td>
<td><input type="text" name="MESSAGE"> </td></tr>
<tr><td><input type="submit" name="Submit" value="Ok"></td></tr>
</table>
</form>
</body>
</html>
Ajaxリクエストを送信するときにContent-type
、のようなリクエストオプションを設定しています。CharSet
Ajax では期待どおりに動作していますが、これらの属性をフォームに設定しても動作しませんform.submit()
。