我的jsp页面编码是gbk,
然后通过js异步提交过去
servlet里面是这样接收值的:
String content = new String(request.getParameter("duty_content").getBytes("ISO-8859-1"));
然后要把content写入到一个txt文本里:
byte[] b = content.getBytes();
try {
OutputStream writer = new FileOutputStream(file);
writer.write(b);
写入到文本里到中文是乱码。
但是如果我不用js提交,而是正常的用form表单提交就不会有乱码情况,为什么呢?
后来的解决方案:
uty_content = new String(request.getParameter("duty_content").getBytes("ISO-8859-1"),"utf-8");
System.out.println(duty_content);
这样一弄,js中不加那个Charset="UTF-8" 也可以。如果还不行的话,可以试试将jsp页面里到<script/>标签写成如下形式:
<script Charset="UTF-8" type="text/javascript"/>
然后通过js异步提交过去
servlet里面是这样接收值的:
String content = new String(request.getParameter("duty_content").getBytes("ISO-8859-1"));
然后要把content写入到一个txt文本里:
byte[] b = content.getBytes();
try {
OutputStream writer = new FileOutputStream(file);
writer.write(b);
写入到文本里到中文是乱码。
但是如果我不用js提交,而是正常的用form表单提交就不会有乱码情况,为什么呢?
后来的解决方案:
uty_content = new String(request.getParameter("duty_content").getBytes("ISO-8859-1"),"utf-8");
System.out.println(duty_content);
这样一弄,js中不加那个Charset="UTF-8" 也可以。如果还不行的话,可以试试将jsp页面里到<script/>标签写成如下形式:
<script Charset="UTF-8" type="text/javascript"/>