java字符串如何转码为utf-8
- 原创
- |
- 浏览:16024
- |
- 更新:
- |
- 标签:JAVA
方法/步骤
第一步:问题思想。
1、字符串需要转utf-8的原因一般都是因为字符串中文的乱码问题
2、这种乱码问题一般出现在前端的get提交中较多。
3、在servlet重定向传参数时也会出现中文乱码的问题。
第二步:新建一个javaweb项目。
打开myeclipse file --》new--》web project
具体操作如下图所示:
第三步:配置servlet。
1、编写servlet类
2、在web.xml中配置请求
第三步:测试乱码问题。
1、打开页面输入汉字请求servlet
2、后台打印输入都是?
第四步:问题定位解决
1、前台传输的时候默认将中文按ISO-8859-1进行编码进行编码导致后天接收失败
2、解决:借助于byte字节和字符串的转换解决。
2.1:思路:先将前台数据按照其传输的编码转为字节码,然后再用utf-8转回字符串
2.2 代码如下所示
ublic void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String sex = request.getParameter("sex");
String[] bobby = request.getParameterValues("bobby");
System.out.println("性别 :"+new String(sex.getBytes("ISO-8859-1"),"UTF-8"));
for (int i = 1; i <= bobby.length; i++) {
System.out.println("爱好"+i+" :"+new String(bobby[i-1].getBytes("ISO-8859-1"),"UTF-8"));
}
}
3:测试功能
3.1:打开页面输入中文
3.2后天打印数据中文显示出来测试成功
END- 该信息未经许可获取自百度经验
注意事项
- 这种方法也可用在其它编码的情况如response重定向时传参现将其转为uft-8字节码(sex.getBytes("UTF-8")),接收时在转回来(new String(sex.getBytes("UTF-8"),"UTF-8")))
- java字符串如何转码为utf-8问题解决办法就是:new String(字符串变量.getBytes(传输过程中的编码),"UTF-8"))