JavaWeb开发---一次性解决中文乱码问题(IntelliJ IDEA)

2 篇文章 0 订阅

1. 第一个 编译器相关编码

  1. 修改编译的bin目录下的两个文件(idea.exe.vmoptions; idea64.exe.vmoptions)添加字符串:-Dfile.encoding=UTF-8
  2. 在编译器里面修改项目的编码: Settings … File Encoding
  3. 设置 项目启动参数

这个可以具体参考这位大佬的文章:点击进行跳转
如有必要:修改Tomcat的配置(server.xml文件)

<Connector port="80" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" URIEncoding="UTF-8" />

2. 第二个 项目编码

  1. HTML等网页页面编码
  • HTML(这里咱们使用h5的页面格式)
    html页面,看你的页面头部(head)是否有
    <meta charset="UTF-8">
这个一般默认都有,若是没有,一劳永逸的解决方法是,修改对应的模板页面

在这里插入图片描述

  • jsp
    对于应jsp页面,看页面开头,是否有:
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
这个一般编译器也有默认,若是是在没有,则修改jsp的模板页面

jsp模板页面修改
在这里多说几句 IntelliJ IDEA的模板功能,是Java开发的一个利器,这个可以花一点时间学习学习,注释模板的添加
这位博友的这边文章写的很不错,学会注释模板的话,以后你就可以进行扩展,你自定义你自己的个性化的界面

  1. 设置request与response的数据的编码
    创建过滤器(EndocingFilter)
package cn.edu.hactcm.Web.filter;

import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import java.io.IOException;

@WebFilter(filterName = "encodeFilter",value = "/*")
public class encodeFilter implements Filter {
    public void destroy() {
    }
    
    //过滤器
    public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException {
        req.setCharacterEncoding("utf-8");
        chain.doFilter(req, resp);
        resp.setCharacterEncoding("utf-8");
    }
    
    public void init(FilterConfig config) {
    }
}

  1. 设置数据库连接的url
jdbc:mysql://localhost:3306/online_exam?useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT
  1. 设置相关的数据库与数据表的编码格式
    修改字符集为:UTF-8
    修改排序规则:utf8_general_ci
若是这篇文章存在不足之处,请指正。文章如果对你有帮助,请点个赞,整个关注,谢谢
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值