jsp编码问题总结

JSP中文乱码问题深度解析与解决方案 在Web开发过程中,JSP(Java Server Pages)作为动态网页开发技术,广泛应用于各种Java Web项目中。然而,由于编码设置不当,常常会导致中文字符出现乱码。中文乱码通常表现为页面显示问号、方块字符或无法识别的符号,常见于页面内容、表单提交、URL参数、响应输出以及数据库交互等环节。造成乱码的根本原因在于不同环节使用的字符编码不一致,例如JSP页面本身的编码、HTTP请求与响应的编码、服务器处理逻辑中的编码以及浏览器解析时的编码设定。 阅读详情


<%@ page language="java" pageEncoding="UTF-8"%>

jsp文件的编码格式,当jsp文件被编译成java文件会用此编码格式解析jsp文件。如果没有设置pageEncoding但设置了contentType的charset,会使用此属性设置的编码格式解析jsp文件,如果两者都没设置会采用默认的ISO8859-1编码。

<%@ page contentType="text/html;charset=UTF-8"%>

服务器端输出到客户端内容的编码格式,通过设置request.setCharacterEncoding("UTF-8")的编码和此编码一致可以解决中文乱码问题。

request.setCharacterEncoding("UTF-8")要放在request使用之前,否则会不起作用。此方法对get方式提交的参数不起作用,设置

server.xml中的URIEncoding可以解决乱码问题。

encodeURI()两次编码

第一次编码,参数内容便不带有多字节字符了,成了纯粹的 Ascii 字符串。(这里把编第一次的结果叫成 [STR_ENC1] 好了。[STR_ENC1] 是不带有多字节字符的)
再编一次后,提交,接收时容器自动解一次 (容器自动解的这一次,不管是按 GBK 还是 UTF-8 还是 ISO-8859-1 都好,都能够正确的得到 [STR_ENC1])
然后,再在程序中实现一次 decodeURIComponent (Java中通常使用 java.net.URLDecoder(***, "UTF-8")) 就可以得到想提交的参数的原值。

该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) 。

该方法的目的是对 URI 进行完整的编码,因此对以下在 URI 中具有特殊含义的 ASCII 标点符号,encodeURI() 函数是不会进行转义的:;/?:@&=+$,#

可以手动replace(/&/g, "%26").replace(/\+/g, "%2b")转义



解决jsp页面中文乱码问题 NULL 博文链接:https://prowl.iteye.com/blog/483854 立即下载

相关推荐

DeepSeek 在 PostgreSQL 中,执行 `DELETE` 操作后,数据占用的空间并不会立即释放给操作系统

操作后,数据占用的空间并不会立即释放给操作系统。这是 PostgreSQL 的 MVCC(多版本并发控制)机制决定的——删除的数据只是被标记为“死元组”,物理空间仍然被表占用。这是最彻底的释放方式,会将表重写为一个没有空洞的新文件,将空间返回给操作系统。如果你的表非常大(如几百GB),或者这是生产环境的核心表,建议优先考虑。你可以告诉我你的表大概多大、是否能接受锁表,我可以给你更精确的建议。要真正释放空间,需要根据你的实际需求,从以下三种方案中选择一种。如果你既想彻底释放空间,又无法接受锁表,

m0_37843156的博客 405

jsp 页面常见的中文乱码问题总结

一、JSP页面显示乱码 1.jsp页面编码问题: 默认的jsp页面编码是iso8859-1编码的, 把它改成UTF-8. 2 jsp页面编码与解码不一致: 默认的jsp页面解码是ios8859-1编码的, 把它改成UTF-8,同时还要把jsp页面编码方式改成UTF-8, 把它改成UTF-8. 注意点: 这条语句经常也看见用于解决jsp中文乱码问题,其作用是告诉浏览器以UTF-8编码方式查

源码老人的专栏 1144

Oracle MCP Server实战:自然语言如何重塑数据库交互体验

本文深入探讨了Oracle MCP Server如何通过自然语言交互技术革新数据库操作体验。作为Oracle数据库的革命性工具,MCP Server集成了先进的Text-to-SQL技术,允许用户使用自然语言直接查询数据库,大幅降低使用门槛。文章详细介绍了从环境搭建、实战案例到企业级部署的全流程,特别强调了中文自然语言处理能力和安全最佳实践,为DBA和开发者提供了从传统SQL到智能交互的转型指南。

u9v0w的博客 285

jsp编码问题

 问题的起源 每个国家(或区域)都规定了计算机信息交换用的字符编码集,如美国的扩展 ASCII 码 , 中国的 GB2312-80,日本的 JIS 等,作为该国家 / 区域内信息处理的基础,有着统一编码的重要作用。字符编码集按长度分为 SBCS(单字节字符集),DBCS(双字节字符集)两大类。早期的软件(尤其是操作系统),为了解决本地字符信息的计算机处理,出现了各种本地化版本(L10N),

I Have A Dream 847

MACS2软件进行Peak calling

MACS2可以检出ChIP-Seq,ATAC-seq 以及 MeRIP-seq (RNA甲基化测序) 等富集的序列。peaks calling 有不同的方法,MACS2是最常用的call peaks工具。 MACS全称Model-based Analysis of ChIP-Seq,最初的设计是用来鉴定转录因子的结合位点,但是它也可以用于其他类型的富集方式测序。usage: macs2 [-h] [--version] {callpeak,bdgpeakcall,bdgbroadca

qq_27390023的博客 3791

百元DIY手机荧光计:低成本荧光检测平台搭建与实战

荧光检测是一种基于物质受特定波长光激发后发射更长波长荧光的分析技术,其核心原理在于光与物质的相互作用。通过选择性激发与检测,该技术能实现对痕量物质的高灵敏度、高特异性定量分析,在生物医学、环境监测和食品安全等领域具有重要价值。传统荧光分光光度计虽精度高,但成本昂贵、体积庞大且操作复杂,限制了其在现场快检和普及教育中的应用。本文聚焦于如何利用智能手机的高性能摄像头和处理器,结合低成本光学滤光片和LED光源,构建一个便携、经济的DIY荧光检测平台。该方案通过简化光路设计,采用带通滤光片进行波长选择,并利用图像处

weixin_34194829的博客 308

JSP 中的编码设置

1. pageEncoding:%@ page pageEncoding="UTF-8"%>jsp页面编码: jsp文件本身的编码 2. contentType: %@ page contentType="text/html; charset=UTF-8"%>web页面显示编码:jsp的输出流在浏览器中显示的编码 3. html页面charset:META http

welcomejzh的专栏 1182

《C++面向对象程序设计》✍千处细节、万字总结(建议收藏)

《C++面向对象程序设计》✍千处细节、万字总结 文章目录《C++面向对象程序设计》✍千处细节、万字总结一、面向对象程序设计二、C++基础2.1 C++的产生和特点2.2 一个简单的C++示例程序2.3 C++在非面向对象方面对C语言的扩充输入和输出cinconst修饰符void型指针内联函数带有默认参数值的函数函数重载作用域标识符"::"强制类型转换new和delete运算符引用三、类和对象(一)3.1 类的构成3.2 成员函数的定义3.3 对象的定义和使用3.4 构造函数与析构函数构造函数成员初始化列表

像写诗一样优雅地写代码~ 78万+

JSP中涉及到的编码问题汇总。

1.html的meta标签 <metahttp-equiv="Content-Type"content="text/html;charset=UTF-8"/> 是为了告诉浏览器发来的是html文档,其编码格式为utf-8。但是传来的文件到底是不是utf-8无法确定,例如是否可以传递gb2312的文件,但是meta标签却设置为utf-8????? 2.jsp的编译指...

piezi.liu 248

【花雕学编程】Arduino动手做(249)---ESP32+GC9A01之播放GIF的空战锁定动画

摘要: 本实验基于ESP32开发板,驱动1.28寸圆形IPS彩色TFT显示屏(GC9A01驱动,240×240分辨率),通过SPI接口实现GIF动画播放。利用TFT_eSPI和AnimatedGIF库,成功加载并循环播放预置的科幻风格GIF动画(如HUD界面、X翼战机等)。代码实现了GIF解码、逐帧渲染及动态显示功能,通过串口调试监控运行状态。实验验证了该显示屏在动态图像显示中的流畅性,为嵌入式图形应用提供了实用方案,适用于智能穿戴、交互设备等场景。 关键词: ESP32、GC9A01、圆形TFT、GIF播

雕爷学编程 492

osgPython

osgPython是一组 Python 模块,为 OpenSceneGraph 的 C++ 库提供了完整的 Python 接口。这意味着你可以在 Python 中调用几乎所有的 OSG 功能,从创建简单的场景到复杂的渲染效果。核心优势开发速度快:Python 语法简洁,无需编译,快速迭代易于学习:比 C++ 更易上手,适合原型开发和教学生态丰富:可以结合 NumPy、Matplotlib 等科学计算库跨平台:与 OSG 一样支持 Windows、Linux、macOS性能考虑。

深之JohnChen的专栏 458

jsp 编码问题

最基本的乱码问题  这个乱码问题是最简单的乱码问题。一般新会出现。就是页面编码不一致导致的乱码。  Html代码:<%@ page language="java" pageEncoding="UTF-8"%> <%@ page contentType="text/html;charset=iso8859-1"%> <html> <head> <title>中文问题</t

whuchlee的专栏 498

SpringBoot项目搭建

SpringBoot项目搭建

私信可回答各种问题~ 1027

编码,JSP编码,Oracle编码,开发中编码问题

1,JSP编码问题,参考 http://blog.youkuaiyun.com/lutinghuan/article/details/8275958 解决方法: 方法一:Window→preferences→General→Content Types,然后打开右边Text选中JSP,在下面Default encoding:那里输入编码,然后点击Update ,ok,就行了。 (试了下不行,需要根据...

You can call me Seven 171

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

总结的一下JSP.TOMCAT编码问题

jsp中的乱码问题   java的.class文件和.java文件都是unicode(应该都是modified utf-8,这个没求证过),.java文件的编译是由编译器完成的,它的编码独立于操作系统  1、首先说读取数据,web服务器接收请求时,接受到的是字节序列,转化为字符时就需要知道此字符序列的编码,才能正确转化。对于tomcat来讲,如果未指定则默认使用iso8859-1,而通

jhjinhua的专栏 986

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

JSP编码问题及常用编码方式

JSP页面编码问题研究(转载) &lt;%@page contentType="text/html; charset=UTF-8"%&gt; &lt;html&gt; &lt;head&gt; &lt;meta http-equiv="Content-Type" content="text/html; charset=UTF-8"&gt;

soonsy的专栏 323

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

JSP 中的字符集编码与乱码问题

深入介绍了 JSP 中的编码与乱码问题, 分析对比了 page 指令中的 pageEncoding 属性和 contentType 属性, 还对 JSP 与 servlet 及 HTML 的关系作了一个简要介绍.

Just do IT 1703

JSP中getBytes()编码问题的原因及解决方案

JSP中getBytes()编码问题的原因及解决方案 解决方案 不多说,直接上解决方法: string1=new String(string2.getBytes("utf-8"),"utf-8"); 问题描述&原因 有很多小伙伴通过 JSP 页面的<input>标签(或者别的标签、动作标记等)传递数据的时候,在另一个页面用getBytes()接收中文字符时,会导致乱码,于是很...

m0_47298749的博客 2161

JSP页面编码问题研究(原创)

JSP页面编码问题研究Motivition曾经有一个网友问过我这样一个问题:中国这个页面在为什么在运行的时候“中国”会变成乱码? Analysis      Key Step对于上面问题的分析需要从整个JSP页面请求的生命周期来看,一般的都需要经历下面几个阶段:1。应用服务器根据JSP页面生成一个Java文件2。应用服务器调用java.exe将Java文件编译成一个Servlet对应的class文

Java野牛专栏 1682

jsp 编码问题总结

下面引用网上一些帖子 JSP页面编码问题研究(转载) <%@page contentType="text/html; charset=UTF-8"%> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UT...

weixin_30755709的博客 72

JSP页面编码问题研究

JSP页面编码问题研究减小字体 增大字体 Motivition曾经有一个网友问过我这样一个问题:中国这个页面在为什么在运行的时候“中国”会变成乱码?Analysis      Key Step 对于上面问题的分析需要从整个JSP页面请求的生命周期来看,一般

sofful的专栏 393

Jsp与Servlet 编码问题

1.编码格式: ServletRequest setCharacterEncoding(String env) throws java.io.UnsupportedEncodingException 重写此请求正文中使用的字符编码的名称。必须在使用 getReader() 读取请求参数或读取输入之前调用此方法。否则,此方法没有任何效果。 env 包含字符编码名称的 String。 Throws ...

wangxulei123的博客 286

JSP中文编码问题

JSP中文编码问题 最基本的乱码问题 这个乱码问题是最简单的乱码问题。一般新会出现。就是页面编码不一致导致的乱码。 Html代码 %@ page language="java" pageEncoding="UTF-8"%>  %@ page contentType="text/html;charset=iso8859-1"%>  html>  head>  title

lizhe10177的专栏 432

JSP编码问题浅析

1.各种字符集的意义 Unicode字符集:它是世界上所有字符的统一编码,Unicode字符集包含了世界上所有文字的二进制编码。但是它没有规定字符的存储方式。 UTF-8:它是Unicode字符集的一种实现方式,即Unicode的一种存储方式。 GBK/GB2312:都是中文的的一种字符编码,只不过GBK的表示范围更广。 ISO-8859-1:是ASCII的扩展字符集,包括了基本的英文字符...

陈树义的Code生活 231
blq310
博客等级 码龄17年 0粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值