解决JSP中文乱码问题
2023-03-14 10:26:41 时间
1、我们要保证JSP向客户端输出时是采用中文编码方式输出的,即无论如何我们首先在我们的JSP源代编中加入以下一行:
<%@page contentType="text/html;charset=gb2312"%>2、为了让JSP能正确获得传入的参数,我们在JSP源文件头加入下面一句:
<%request.setCharacterEncoding("GB2312″);%>3、为了让JSP编译器能正确地解码我们的含有中文字符的JSP文件,我们需要在JSP源文件中指定我们的JSP源文件的编码格式,具体来说,
我们在JSP源文件头上加入下面的一句即可:
<%@page pageEncoding="GB2312″%>或<%@page pageEncoding="GBK"%>综上,JSP文件开头应该进行如下配置。
<%@page contentType="text/html;charset=gb2312" pageEncoding ="GB2312"%> <%request.setCharacterEncoding("GB2312");%>4、Form中的乱码问题
将Form中的中文值传入数据库再取出来后经常会全部变成问号。除了在头部定义上面那些代码之外还需要定义一个专门解决这类问题的getStr类。
代码如下:
public String getStr(String str){ try{String temp_p=str; byte[] temp_t=temp_p.getBytes("GB2312"); String temp=new String(temp_t); return temp; } catch(Exception e){} return "NULL"; }然后对接收到的参数进行如下转换:
String keyword1=request.getParameter("keyword1"); keyword1=getStr(keyword1);这样问题就解决了。
相关文章
- Java要抛弃祖宗的基业,Java程序员危险了!
- 十大 Java 语言特性
- JVM 三色标记算法,原来是这么回事!
- 聊聊 Spring 事务控制策略以及 @Transactional 失效问题避坑
- 写给 Java 程序员的前端 Promise 教程
- 写给 Java 程序员的前端 Promise 教程,你学会了吗?
- Java 中为什么不全部使用 Static 方法?
- Java 池化技术你了解多少?
- Java 服务 Docker 容器化优秀实践
- Spring Boot + EasyExcel导入导出,简直太好用了!
- 我们一起聊聊 Java 内存泄漏
- CentOS 下安装 Docker 极简教程
- JDK 19 功能集冻结:Java 19 只有七个新特性
- 关于 CMS 垃圾回收器,你真的懂了吗?
- 为什么会有这么多编程语言?
- 改善Java代码的八个建议
- 接口流量突增,如何做好性能优化?
- Java 以编程方式创建JAR文件
- POJO、Java Bean是如何定义的
- Spring 的 Bean 明明设置了 Scope 为 Prototype,为什么还是只能获取到单例对象?