当前位置: 首页 > 编程日记 > 正文

设置编码格式为utf8

response.setCharacterEncoding("UTF-8"); 在Servlet2.3中是不行的,至少要2.4版本才可以,如果低于2.4版本,可以用如下办法:

response.setContentType("text/html;charset=UTF-8");

pageEncoding="UTF-8"的作用是设置JSP编译成Servlet时使用的编码。 
2、contentType="text/html;charset=UTF-8"的作用是指定对服务器响应进行重新编码的编码。 
3、request.setCharacterEncoding("UTF-8")的作用是设置对客户端请求进行重新编码的编码。
4、response.setCharacterEncoding("UTF-8")的作用是指定对服务器响应进行重新编码的编码。 
response.setCharacterEncoding("UTF-8")的作用是指定对服务器响应进行重新编码的编码。同时,浏览器也是根据这个参数来对其接收到的数据进行重新编码(或者称为解码)。所以在无论你在JSP中设置response.setCharacterEncoding ("UTF-8")或者response.setCharacterEncoding("GBK"),浏览器均能正确显示中文(前提是你发送到浏览器的数据编码是正确的,比如正确设置了pageEncoding参数等)。

对于发送数据,服务器按照response.setCharacterEncoding—contentType—pageEncoding的优先顺序,对要发送的数据进行编码。

对于接收数据,要分三种情况。一种是浏览器直接用URL提交的数据,另外两种是用表单的GET和POST方式提交的数据。

对于表单中POST方式提交的数据,只要在接收数据的JSP中正确request.setCharacterEncoding参数,即将对客户端请求进行重新编码的编码设置成浏览器编码,就可以保证得到的参数编码正确。有写读者可能会问,那如何得到浏览器编码呢?上面我们提过了,在默认请情况下,浏览器编码就是你在响应该请求的JSP页面中response.setCharacterEncoding设置的值。所以对于POST表单提交的数据,在获得数据的JSP页面中request.setCharacterEncoding要和生成提交该表单的JSP页面的 response.setCharacterEncoding设置成相同的值。

对于URL提交的数据和表单中GET方式提交的数据,在接收数据的JSP中设置request.setCharacterEncoding参数是不行的,因为在Tomcat5.0中,默认情况下使用ISO- 8859-1对URL提交的数据和表单中GET方式提交的数据进行重新编码(解码),而不使用该参数对URL提交的数据和表单中GET方式提交的数据进行重新编码(解码)。要解决该问题,应该在Tomcat的配置文件的Connector标签中设置useBodyEncodingForURI或者 URIEncoding属性,其中useBodyEncodingForURI参数表示是否用request.setCharacterEncoding 参数对URL提交的数据和表单中GET方式提交的数据进行重新编码,在默认情况下,该参数为false(Tomcat4.0中该参数默认为true); URIEncoding参数指定对所有GET方式请求(包括URL提交的数据和表单中GET方式提交的数据)进行统一的重新编码(解码)的编码。 URIEncoding和useBodyEncodingForURI区别是,URIEncoding是对所有GET方式的请求的数据进行统一的重新编码(解码),而useBodyEncodingForURI则是根据响应该请求的页面的request.setCharacterEncoding参数对数据进行的重新编码(解码),不同的页面可以有不同的重新编码(解码)的编码。所以对于URL提交的数据和表单中GET方式提交的数据,可以修改 URIEncoding参数为浏览器编码或者修改useBodyEncodingForURI为true,并且在获得数据的JSP页面中 request.setCharacterEncoding参数设置成浏览器编码

相关文章:

Linux 命令集锦

linux下查看监听端口对应的进程 # lsof -i:9000 # lsof -Pnl M -i4# lsof -i | grep 9054 如果退格键变成了:"^h"。 终端连接unix删除退格键,按住CTL键同时按deleteLinux搜索 # find / -name "xxx.conf"查看linux是32位还是64位的命…

mysql (双主,互主)

Master-Master(双主) 1、测试环境 Master/Slave Master1/Slave1 IP 192.168.1.13 192.168.1.10 为了保持干净的环境:两边服务器 rm -rf /var/lib/mysql/* service mysqld re…

熬夜都要看完的 Python 干货!

结合我最近这些年的Python学习、开发经验,发现超90%的人在初学Python时都会遇到下面这些问题:没经验不知道怎么开始学,应用方向太多了根本不知道该怎么选择!各基础入门看似简单,但一到进阶部分就举步维艰,遇…

Linux下二进制文件安装MySQL

MySQL 下载地址:https://dev.mysql.com/downloads/mysql/ 并按如下方式选择来下载安装包。 1. 设置配置文件/etc/my.cnmore /etc/my.cnf [client] port 3306 socket /tmp/mysql.sockdefault-character-setutf8[mysqld] usermysql port 3306 server_id 1 socket/…

解决远程桌面无法连接问题

如果 出现的提示如下:---------------------------中断远程桌面连接---------------------------客户端无法建立跟远程计算机的连接。导致这个错误的可能的原因是:1) 远程计算机上的远程连接可能没有启用。2) 已超出远程计算机上的连接最大数。3) 建立连接时出现了一…

这些算法在印度农村医疗中发挥极大作用,未来还将发挥哪些作用?

作者 | Apoorva Mandavilli译者 | Jhonny,责编 | Carol来源 | Unitimes在结核病猖獗的印度农村等地方,用于扫描肺部X射线的 AI 技术可能有助于消除这种疾病之苦。印度农村马哈拉施特拉邦的 Chinchpada Mission 医院在世界上一些最偏远和最贫困的角落&…

四层和七层交换技术-loadbalance

1 四层交换技术简介 我们知道,二层交换机是根据第二层数据链路层的MAC地址和通过站表选择路由来完成端到端的数据交换的。三层交换机是直接根据第三层网络层IP地址来完成端到端的数据交换的。四 层交换机不仅可以完成端到端交换,还能根据端口主机的应用特…

sql server mvp 發糞塗牆

http://blog.csdn.net/dba_huangzj/article/details/38295753

几行代码完成动态图表绘制 | Python实战

作者 | 小F来源 | 法纳斯特头图 | CSDN下载自视觉中国关于动态条形图,小F以前推荐过「Bar Chart Race」这个库。三行代码就能实现动态条形图的绘制。有些同学在使用的时候,会出现一些错误。一个是加载文件报错,另一个是生成GIF的时候报错。这…

inline-block元素4px空白间隙的解决办法

为什么80%的码农都做不了架构师?>>> http://www.hujuntao.com/archives/inline-block-elements-the-4px-blank-gap-solution.html 转载于:https://my.oschina.net/i33/blog/124448

Ubuntn删除软件

删除dpkg -r 软件清除dpkg -P 软件也可以用sudo apt-get remove 软件 这种方式移除这种方式install的

对象Equals相等性比较的通用实现

对象Equals相等性比较的通用实现 最近编码的过程中&#xff0c;使用了对象本地内存缓存&#xff0c;缓存用了Dictionary<string,object>, ConcurrentDictionary<string,oject>,还可以是MemoryCache(底层基于Hashtable)。使用缓存&#xff0c;肯定要处理数据变化缓存…

Android:ViewPager为页卡内视图组件添加事件

在数据适配器PagerAdapter的初始化方法中添加按钮事件&#xff0c;这里是关键&#xff0c;首先判断当前的页卡编号。必须使用当前的view来获取按钮。 Overridepublic Object instantiateItem(View arg0, int arg1) {if (arg1 < 3) {((ViewPager) arg0).addView(mListViews.g…

解析C语言中的sizeof

一、sizeof的概念 sizeof是C语言的一种单目操作符&#xff0c;如C语言的其他操作符、--等。它并不是函数。sizeof操作符以字节形式给出了其操作数的存储大小。操作数可以是一个表达式或括在括号内的类型名。操作数的存储大小由操作数的类型决定。 二、sizeof的使用方法 1、用于…

开源大咖齐聚2020启智开发者大会,共探深度学习技术未来趋势

​2020年12月2日&#xff0c;“OpenI/O 2020启智开发者大会”在北京国家会议中心召开。大会以“启智筑梦 开源先行”为主题&#xff0c;立足于国际国内开源大环境和发展趋势。开源领域顶尖专家学者和企业领军人物共聚一堂&#xff0c;探讨开源开放呈现出的新形势、新格局、新机…

linux中编译C语言程序

1.首先安装gcc编辑器 yum install gcc* -y 2.编写C语言程序 [roottest ~]# vim aa.c #include<stdio.h> int main( ) {int a;printf("请输入一个三位数的整数:");scanf("%d",&a);if(a>100&&a<1000)printf("百位是&#xff1a…

typedef的四个用途和两大陷阱

typedef的四个用途和两个陷阱 &#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;…

升级版APDrawing,人脸照秒变线条肖像画,细节呈现惊人

作者 | 高卫华出品 | AI科技大本营随着深度学习的发展&#xff0c;GAN模型在图像风格转换的应用越来越多&#xff0c;其中不少都实现了很好的效果。此前&#xff0c;reddit上的一个技术博主AtreveteTeTe基于GAN模型混合将普通的人像照片卡通化&#xff0c;并通过First Order Mo…

error LNK1112: module machine type 'X86' conflicts with target machine type 'x64'

1 这个error是什么原因造成的 cmake默认选择的是x86&#xff0c;即32位的生成子。 2 怎么解决这个error 在cmake ..的时候&#xff0c;在后面加上“-G "Visual Studio 12 2013 Win64"”选项即可。 3 怎么在CMakeLists.txt中进行相应的设置来解决这个问题 这个还未知。…

Linux的epoll

在linux的网络编程中&#xff0c;很长的时间都在使用select来做事件触发。在linux新的内核中&#xff0c;有了一种替换它的机制&#xff0c;就是epoll。 相比于select&#xff0c;epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中&#x…

[QA]Python字节码优化问题

这篇文章来自在Segmentfault 上面我提出的一个问题 问题背景&#xff1a; Python在执行的时候会加载每一个模块的PyCodeObject,其中这个对象就包含有opcode,也就是这个模块所有的指令集合&#xff0c;具体定义在源码目录的 /include/opcode.h 中定义了所有的指令集合&#xff0…

【滴滴专场】深度学习模型优化技术揭秘

滴滴拥有海量数据以及 AI 推理需求&#xff0c;GPU 在人脸识别、自动驾驶、地图导航等场景大量使用&#xff0c;滴滴云IFX团队针对斯坦福 DAWNBench 榜单的 ImageNet 模型也进行了深入优化&#xff0c;在 NVIDIA T4 上达到了 0.382 ms 的 Inference Latency 性能&#xff0c;打…

11.python并发入门(part9 多进程模块multiprocessing基本用法)

一、回顾多继承的概念。由于GIL&#xff08;全局解释器锁&#xff09;的存在&#xff0c;在python中无法实现真正的多线程&#xff08;一个进程里的多个线程无法在cpu上并行执行&#xff09;&#xff0c;如果想充分的利用cpu的资源&#xff0c;在python中需要使用进程。二、mul…

将不确定变为确定~Flag特性的枚举是否可以得到Description信息

回到目录 之前我写过对于普通枚举类型对象&#xff0c;输出Description特性信息的方法&#xff0c;今天主要来说一下&#xff0c;如何实现位域Flags枚举元素的Description信息的方法。 对于一个普通枚举对象&#xff0c;它输出描述信息是这样的 public enum Status{[Descriptio…

中科大“九章”历史性突破,但实现真正的量子霸权还有多远?

作者 | 马超 出品 | AI科技大本营 头图 | CSDN下载自视觉中国 10月中旬&#xff0c;政府高层强调要充分认识推动量子科技发展的重要性和紧迫性&#xff0c;加强量子科技发展战略谋划和系统布局&#xff0c;把握大趋势&#xff0c;下好先手棋。 今天&#xff0c;我国的量子科技领…

php析构函数的用法

简单的说,析构函数是用来在对象关闭时完成的特殊工作,比如我写的上例,在实例化同时打开某文件,但是它什么时候关闭呢,用完就关闭呗,所以析构函数直接关闭它, 又或者在析构时,我们将处理好的某些数据一并写进数据库,这时可以考虑使用析构函数内完成,在析构完成前,这些对象属性仍…

泛型中? super T和? extends T的区别

经常发现有List<? super T>、Set<? extends T>的声明&#xff0c;是什么意思呢&#xff1f;<? super T>表示包括T在内的任何T的父类&#xff0c;<? extends T>表示包括T在内的任何T的子类&#xff0c;下面我们详细分析一下两种通配符具体的区别。 …

两大AI技术集于一身,有道词典笔3从0到1的飞跃

作者 | Just 出品 | AI科技大本意&#xff08;ID:rgznai100&#xff09; “双十一”结束的钟点刚刚敲响&#xff0c;拥有电子消费品的企业便很快对外界秀了一把今年的销售战绩&#xff0c;网易有道也不例外。在电子词典单品品类榜单上&#xff0c;有道词典笔稳稳拿下天猫和京东…

VIM进阶功能

2019独角兽企业重金招聘Python工程师标准>>> http://www.cnblogs.com/gunl/archive/2011/08/15/2139588.html 该网页上介绍了以下内容&#xff1a; 查找快速移动光标复制、删除、粘贴数字命令组合快速输入字符替换多文件编辑宏替换TABautocmd常用脚本常用配置另一篇…

最简便的清空memcache的方法

如果要清空memcache的items&#xff0c;常用的办法是什么&#xff1f;杀掉重启&#xff1f;如果有n台memcache需要重启怎么办&#xff1f;挨个做一遍&#xff1f; 很简单&#xff0c;假设memcached运行在本地的11211端口&#xff0c;那么跑一下命令行&#xff1a; $ echo ”f…