问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

jsp页面通过js组合了一个url传道后台汉字都是问号?

发布网友 发布时间:2022-04-24 13:43

我来回答

9个回答

懂视网 时间:2022-04-24 18:05

利用JavaScript通过URL方式向后台代码传值是一种经常用到的手段,但在传递汉字时经常会出现字符不全或变成乱码的问题,其原因是由于客户端IE浏览器的编码方式为GB2312(简体中文版WINDOWS的默认设置),而后台的C#代码使用utf8编码(创建WEB工程的默认配置)。
网上有很多方案解决该问题,如将web.config的编码方式改为GB2312、在客户端通过escape先编码再传,个心体会都不是很理想或有些特殊字符不支持。经过比较我决定使用encodeURIComponent在客户端进行编码,再传值,除了“/”不支持(但实际开发中很少需要传递该值,如果真有此请况,再加一层判断即可。
encodeURIComponent的帮助文档如下:
encodeURIComponent 方法
将文本字符串编码为一个统一资源标识符 (URI) 的一个有效组件。
encodeURIComponent( encodedURIString )
必选的 encodedURIString 参数代表一个已编码的 URI 组件。
说明
encodeURIComponent 方法返回一个已编码的 URI。如果您将编码结果传递给 decodeURIComponent ,那么将返回初始的字符串。因为encodeURIComponent 方法对所有的字符编码,请注意,如果该字符串代表一个路径,例如 /folder1/folder2/default.html ,其中的斜杠也将被编码。这样一来,当该编码结果被作为请求发送到 web 服务器时将是无效的。如果字符串中包含不止一个 URI 组件,请使用 encodeURI 方法进行编码。
要求
版本 5.5
请参阅
decodeURI 方法 | decodeURIComponent 方法
应用于: Global 对象

我做了一个小例子来展现该效果
Default.aspx代码:
代码如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>



无标题页

热心网友 时间:2022-04-24 16:31

对于URL中的汉字和特殊字符应该用encodeURIComponent进行编码后传递。

例如: test.html?name=张三 应该使用如下方法:

var url="test.html?name="+encodeURIComponent("张三");

热心网友 时间:2022-04-24 18:05

数据库里取出来的数据吗?
在JSP执行之前加上
request.setCharacterEncoding(“UTF-8”);
试试。

content="text/html; charset=UTF-8"、pageEncoding="UTF-8"
这个定义的是显示。
输入的定义用: request.setCharacterEncoding(“UTF-8”);

热心网友 时间:2022-04-24 19:57

url传汉字的话,需要编码,在页面中组合的时候url+encodeURI(汉字),在服务端解码是用
String param1=java.net.URI.decode(request.getParameter("参数名"));应该就可以了

热心网友 时间:2022-04-24 22:05

用js写的跳转路径默认为get的,get不能传中文,所以到后台中文是乱码

热心网友 时间:2022-04-25 00:29

把你要传的url,用 encodeURI("要传的字符串")方法,过一下试试。

热心网友 时间:2022-04-25 03:11

建议你 request.setCharacterEncoding("gbk");
将所有的Encoding都设置成 gbk 吧

热心网友 时间:2022-04-25 06:09

三楼老兄的不错 不过jsp上如果是用js操作 在js方法中也要转换下
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...频数和频率成正比,2频数一定时,频率与总次数成反比,对不对_百度... ...总次数之间的关系是( ) A.频数越大,频率越大 B.总次数一定时,频数越... 实验的总次数、频数及频率三者的关系是( )A.频数越大,频率越大B.频数... 嘎牙鱼的做法大全 安无线网要用多少元网费要交多少元不用用了要不要交网费,想寻求大家的... 无线网费1年多少钱 "Hbr"作为“港”的缩写,其在英语中的使用频率和应用示例如何? 【车主点评:吉利汽车帝豪GL 使我荣华富贵】 请问,如果,家用,自动挡,帝豪gl,英朗,科沃兹,卡罗拉,轩逸,同等价位,建议... ...景点?既能休闲的时候看看又能长点知识@@谢谢各位了! 由于单位拖欠工资,孕妇有必要提交*离职么?为什么?进行劳动仲裁的话,可以要求哪些赔偿? 拖欠孕妇工资除了劳动局还能去哪里投诉 公司扣孕妇工资怎么办 清洁用抹布和拖布清洁后应在消毒液中浸泡多少分钟 公司拖欠孕妇工资,有懂法律的人给我点意见吗 孕妇辞职公司不发工资怎么办 孕妇被公司拖欠工资不发怎么办 小孩子可以每天都吃一个冰棍吗? 一个冰棍会引起感冒吗 电动扫地车日常使用注意事项有哪些? 冻了六个月的棒冰能吃吗。我把一盒棒冰冻了六个月。我吃了一根,没变味,请问能吃吗。 10岁孩子吃雪糕胃疼连续吐后来胃里没东西就吐水 我女儿在广场玩吃了带冰的一盒雪糕回到家又喝凉水又 冰淇淋五元一盒雪糕两元一根你还能提出其他用乘法或除法解决问题并解答吗? 一盒冰棒9元钱,每盒3根,妈妈买冰棍花了54块钱,这些冰棍有多少根? 水结冰体积将增11分之一有一冰棍,融化后是33分之一立方分米求这冰棍体积 小米路由器连不上智能家庭网关 冰箱里取一冰棍剥冰棒纸能看到“烟”把冰棒放到玻璃杯玻璃杯外壁会“出汗”形成原因是?与大自然的联系? 填数量词,一什么冰棍? 有什么办法能把身份证年龄改大一点 想要去公安局把身份证上年龄改大点,可以吗? 佐鳄箱包怎么锁 chiari.giochi.luce意大利语是什么意思 颅颈交界区病变:Chiari畸形并脊髓空洞症要吃什么好了 chiari畸形1型并c2一3椎体平面脊髓变性挂什么科 肝癌的征兆是什么 佛山社保 工伤 为二类A是什么意思 你们脊髓空洞症是什么意思? 是关于脊髓的什么东西, 肝静脉频谱平坦是什么意思 experimental study是什么意思 老阴穴如何才得位? 求高手帮忙转换一下格式,把pdf转换成txt,我电子邮箱:gwtian@qq.com,转成后必重谢! 拼多多骗局? 向javascript中的方法传参时无法传中文字符 什么是优先权债务优先银行贷款 债务人以房抵债有多个债主谁有优先权抵债 600269赣粤高速后期走势如何? 请问600269赣粤高速后市走势如何? 600269赣粤高速后市如何? 600269赣粤高速明日21号走势? 600269股票怎么样?进期可持有吗?