学习javaweb 发现在servelet中输出表单提交的text值,会出现乱码。
实验之后似乎明白了
首先在servlet 中添加了setcharacterencoding,发现并没有卵用
我在表单中没有定义method,看网址栏貌似默认执行了get
于是把method 改成post ,果然没有乱码了。
于是得出结论,setcharacerencoding 仅仅对于 dopost 方法有用,在doget方法中是无用的
之后在表单中提交中文和英文混杂的text发现网址栏中 英文正确传值,中文换成了某种编码,又考虑到控制台输出的是问号,感觉应该是“iso-8859-1”
尝试在doget中将传进的值用“iso-8859-1”强制解码
之后再用“utf-8”强制编码
果然不再乱码
那么综上所述,post中可以用setcharacterencoding 解决乱码问题
而get 中可以通过强制编码解决