tomcat服务器如何配置字符集为utf-8彻底解决中文乱码的问题详解

什么是字符集

在介绍字符集之前,我们先了解下为什么要有字符集。我们在计算机屏幕上看到的是实体化的文字,而在计算机存储介质中存放的实际是二进制的比特流。那么在这两者之间的转换规则就需要一个统一的标准,否则把我们的U盘插到老板的电脑上,文档就乱码了;小伙伴QQ上传过来的文件,在我们本地打开又乱码了。于是为了实现转换标准,各种字符集标准就出现了。简单的说字符集就规定了某个文字对应的二进制数字存放方式(编码)和某串二进制数值代表了哪个文字(解码)的转换关系。

那么为什么会有那么多字符集标准呢?这个问题实际非常容易回答。问问自己为什么我们的插头拿到英国就不能用了呢?为什么显示器同时有DVI,VGA,HDMI,DP这么多接口呢?很多规范和标准在最初制定时并不会意识到这将会是以后全球普适的准则,或者处于组织本身利益就想从本质上区别于现有标准。于是,就产生了那么多具有相同效果但又不相互兼容的标准了。

说了那么多我们来看一个实际例子,下面就是屌这个字在各种编码下的十六进制和二进制编码结果,怎么样有没有一种很屌的感觉?

字符集 16进制编码 对应的二进制数据
UTF-8 0xE5B18C 1110 0101 1011 0001 1000 1100
UTF-16 0x5C4C 1011 1000 1001 1000
GBK 0x8CC5 1000 1100 1100 0101

引言

我们在程序编写的过程中总是会遇到一些中文编码的问题,需要在程序中很多环节中去进行过滤和转义,依旧有可能遇到中文乱码的问题,下面是我的一个同事告诉我的方法,百时不灵,当然是针对于tomcat服务器来说的。

此外,这个方法并不会对之前的那些方法造成冲突。

服务器/conf目录/server.xml文件

将相关语句改为:

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

之前的语句没有URIEncoding="UTF-8"这一句

有朋友问了一个问题:这个方法好像只针对get请求有效,对于POST请求需要怎么解决呢?除了req.setCharacterEncoding("UTF-8");这个方法之外?

其实乱码问题需要整个系统统筹规划的。从你的数据库设计,后台字符过滤,前台数据传递。单纯使用 req.set并不总会奏效。

所以,你如果是post提交,第一检查数据库格式是不是utf8的,第二,post提交form表单有没有设置utf8

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对我们的支持。

您可能感兴趣的文章:

  • Tomcat服务器图片地址中文路径问题解决办法
  • 解决tomcat的中文问题
(0)

相关推荐

  • 解决tomcat的中文问题

    tomcat出现中文问题,是因为字符集不能直接支持中文等双字节的信息.其中一种解决方法是只需要修改其配置文件就行了,具体方法如下 在Server.xml文件中添加一个名为URIEncoding的属性,它用于对HTTP请求中的get方法传过来的URL进行编码.以下说明修 改Tomcat安装目录中的config文件夹中的server.xml文件的方法. 打开config/server.xml文件,如果没有修改过这个文件,应该可以在其中找到如下代码: 复制代码 代码如下: <Connector por

  • Tomcat服务器图片地址中文路径问题解决办法

    Tomcat服务器中文路径的问题 复制代码 代码如下: < IMG SRC="中文图片.jpg" WIDTH="77" HEIGHT="80" BORDER=0 ALT="" > 或 < a href="中文.jsp">中文文件名< / a> 或 http://127.0.0.1:8080/中文.[扩展名] 通常在以上三种情况下,Tomcat5服务器会报告找不到文件的错误

  • tomcat服务器如何配置字符集为utf-8彻底解决中文乱码的问题详解

    什么是字符集 在介绍字符集之前,我们先了解下为什么要有字符集.我们在计算机屏幕上看到的是实体化的文字,而在计算机存储介质中存放的实际是二进制的比特流.那么在这两者之间的转换规则就需要一个统一的标准,否则把我们的U盘插到老板的电脑上,文档就乱码了:小伙伴QQ上传过来的文件,在我们本地打开又乱码了.于是为了实现转换标准,各种字符集标准就出现了.简单的说字符集就规定了某个文字对应的二进制数字存放方式(编码)和某串二进制数值代表了哪个文字(解码)的转换关系. 那么为什么会有那么多字符集标准呢?这个问题实

  • 在Win10上安装Tomcat服务器及配置环境变量的详细教程(图文)

    Tomcat 服务器是一个免费的开放源代码的 Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试 JSP 程序的首选.本文主要讲述Windows环境Tomcat服务器安装与环境变量配置 下载安装JDK 要想安装Tomcat服务器,首先要安装配置好JDK,可以参考JDK安装与环境变量配置 Windows + R然后输入cmd进入命令行窗口,检查Java是否安装正确,检查的命令为java -version 如果输出类似下面的内容说明安装成功

  • 优化Tomcat配置(内存、并发、缓存等方面)方法详解

    Tomcat有很多方面,我从内存.并发.缓存等方面介绍优化方法. 一.Tomcat内存优化 Tomcat内存优化主要是对 tomcat 启动参数优化,我们可以在 tomcat 的启动脚本 catalina.sh 中设置 java_OPTS 参数. JAVA_OPTS参数说明 server 启用jdk 的 server 版: -Xms java虚拟机初始化时的最小内存: -Xmx java虚拟机可使用的最大内存: -XX: PermSize 内存永久保留区域 -XX:MaxPermSize 内存最

  • window环境配置Mysql 5.7.21 windowx64.zip免安装版教程详解

    1.从官网下载mysql-5.7.21-windowx64.zip mysql下载页面 2.解压到合适的位置(E:\mysql) 这名字是我改过的 3.配置环境变量,将E:\mysql\bin 添加到PATH中 4.在mysql目录下(E:\mysql) 创建 my.ini文件,内容如下: [mysql] # 设置mysql客户端默认字符集 default-character-set=utf8 [mysqld] #设置3306端口 port = 3306 # 设置mysql的安装目录 based

  • Windows配置VSCode+CMake+Ninja+Boost.Test的C++开发环境(教程详解)

    平时习惯了在Linux环境写C++,有时候切换到Windows想继续在同一个项目上工作,重新配置环境总是很麻烦.虽然Windows下用Visual Studio写C++只需要双击个图标,但我还是想折腾一下VS Code的环境配置.原因主要有两点:一是个人习惯上各种语言都在VS Code里面写,利用Git同步代码可以很方便地在不同平台开发同一个项目:二是有些情形下无法使用图形化界面,比如为Git配置CI(持续性集成)时显然不能用Visual Studio这个图形化的IDE来执行Windows环境的

  • vscode配置leetcode插件并解决无法登录问题(图文详解)

    官方文档 https://github.com/LeetCode-OpenSource/vscode-leetcode/blob/master/docs/README_zh-CN.md 1.环境 window10 vscode 1.23.0+ Node.js 10+ 如果Node.js 没添加到环境变量需要手动添加,添加成功在cmd中输入node --version会显示:  2.配置 vscode安装leetcode插件: 安装完右侧会出现: 此时发现账号密码方式无法登录(本次教程都针对国际版

  • nginx配置proxy_pass中url末尾带/与不带/的区别详解

    nginx配置proxy_pass时url末尾带"/"与不带"/"的区别如下: 注意:当location为正则表达式匹配模式时,proxy_pass中的url末尾是不允许有"/"的,因此正则表达式匹配模式不在讨论范围内.  proxy_pass配置中url末尾带/时,nginx转发时,会将原uri去除location匹配表达式后的内容拼接在proxy_pass中url之后. 测试地址:http://192.168.171.129/test/tes

  • Tomcat服务器的配置与启动全过程

    目录 Tomcat的下载与安装 关于Tomcat服务器的目录 startup.bat部分代码 catalina.bat部分代码 Tomcat服务器的运行最终步骤 解决Tomcat服务器启动时在DOS命令窗口中的乱码问题 logging.properties文件 总结 Tomcat的下载与安装 Tomcat是Apache软件基金会的一个开源免费的项目 , 它是一个轻量级WEB服务器 , 体积小 , 运行速度快(只实现了Servlet+JSP规范) Tomcat还有另外一个名字:catalina(c

  • idea发布web项目后Tomcat服务器找不到该项目的问题及解决方法

    概述 项目创建成功,项目部署也成功了,但Tomcat服务器找不到该项目,如下图 第二种情况:当你修改了项目的名字,你也需要按照第一种情况重新部署项目. 项目发布失败,可以去该项目的编译输出路径out下查看Artifacts目录下看看是否有该项目 左击file,找到project Setting,左击Artifacts,点加号,点Web Application:Exploded ,再点From Modules- ,选择要选的项目,点击ok! 当上述步骤完成后,再去重新部署项目 到此这篇关于idea

  • Windows系统下安装Tomcat服务器和配置虚拟目录的方法

    安装Tomcat和配置环境变量 安装jdk,这个我就不用说了 安装的时候指定安装路径,我指定的是: D:\Program Files\Java\jdk1.6.0_05 3.解压下载的apache-tomcat-5.5.23.zip,   我指定的是D:\Program Files\apache-tomcat-5.5.26 安装完成后,打开"我的电脑"->"系统属性"->"环境变量"在"用户变量" 新建"C

随机推荐