解决IE及location.href中文乱码

本文介绍了一种解决URL中中文字符出现乱码的方法,在客户端使用两次encodeURI进行编码,并在服务端进行解码,确保跨平台(如Linux)部署时URL参数正确解析。

问题:

本地运行没有问题,但是部署到linux时发生乱码。

location.href="xxxxxxxx?Old=张三";


同时,发现IE下也存在这个问题。


解决:

在浏览器端进行两次的编码操作,服务端进行解码即可。

location.href="xxxxxxxx?Old="+encodeURI(encodeURI(张三));


服务端:

String Old = request.getParameter("Old");
Old = java.net.URLDecoder.decode(Old,"UTF-8");



问题解决。



<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>PPTXjs - Meshesha</title> <link rel="stylesheet" href="./setup/css/pptxjs.css"> <link rel="stylesheet" href="./setup/css/nv.d3.min.css"> <script type="text/javascript" src="./setup/pptxjs/jquery-1.11.3.min.js"></script> <script type="text/javascript" src="./setup/pptxjs/jszip.min.js"></script> <script type="text/javascript" src="./setup/pptxjs/filereader.js"></script> <script type="text/javascript" src="./setup/pptxjs/d3.min.js"></script> <script type="text/javascript" src="./setup/pptxjs/nv.d3.min.js"></script> <script type="text/javascript" src="./setup/pptxjs/pptxjs.js"></script> <script type="text/javascript" src="./setup/pptxjs/divs2slides.js"></script> <script type="text/javascript" src="./setup/pptxjs/jquery.fullscreen-min.js"></script> <script> $(function() { // 获取 URL 中的 file 参数并解码 const urlParams = new URLSearchParams(window.location.search); const encodedFile = urlParams.get('file'); let pptxFilePath = null; if (encodedFile) { pptxFilePath = decodeURIComponent(encodedFile); } // 加载 PPTX 文件 $("#result").pptxToHtml({ pptxFileUrl: pptxFilePath, // 使用 URL 中传入的文件路径 slideMode: false, keyBoardShortCut: false, slideModeConfig: { first: 1, nav: false, navTxtColor: "white", navNextTxt: "›", navPrevTxt: "‹", showPlayPauseBtn: false, keyBoardShortCut: false, showSlideNum: false, showTotalSlideNum: false, autoSlide: false, randomAutoSlide: false, loop: false, background: "black", transition: "default", transitionTime: 1 } }); }); </script> <style> html, body { margin: 0; padding: 0; height: 100%; background-color: #000; } #warper { margin: 0 auto; width: 900px; padding-top: 20px; } #result { margin: 0 auto; text-align: center; } .slide { margin: 0 auto; display: block; } </style> </head> <body> <div id="result"></div> </body> </html> 还有一个问题 就是 ,这个 里面显示的ppt 。内容都是乱码 混乱的
08-23
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值