pdf.js插件乱码问题
2016-08-16 08:42
429 查看
场景描述:
本问题也是之前谈论的pdf转化为图片的项目,之前有聊到过由于不能正常展示印章而把pdf转化成了PNG图片来展示。而其他的条款由于没有印章这个问题,所以就使用了pdf.js这个插件进行展示,之前展示的文件名都是用的英文是没有问题的。但是后来发现ios里面会展示出来这个名字,被用户看到后不便于理解,所以就想着要改为中文,那么问题就来了。具体操作解决方案
接着说,直接将文件名改成中文后,发现一切并没有想象的那么简单,在加载pdf进行展示的时候发出错了,404。看里通过浏览器调试看地址也不是正常的,后在网上查询资料发现编码格式有问题,所以就把编码格式改为了gb2312。本地验证通过,心里挺高兴的,但是等我把代码发布到测试环境就由出现了问题。真是太奇葩了,奇葩年年有,今年特别多啊。说一下本地和测试环境的差别吧,本地单机一个tomcat,测试环境是两台机器,F5负载均衡,然后还用了nginx做跳转。后来同事就说加个过滤器转码试试,想了想这个方法行得通,然后就开工了。加了一个过滤器,在过滤器中将请求地址打印了出来,然后进行转码再打印出来,经过和本地对比发现没有什么区别,但是为嘛就是本地不用filter转化再forward就可以,而测试环境就不行。感觉是跟F5和nginx有关系,但是就是不知道什么情况。还望有大神能解惑一下……
而且nginx 默认的不是charset utf-8;吗,但是我显式的写了这个就又乱码了,郁闷。
Filter代码
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { request.setCharacterEncoding("utf-8"); HttpServletRequest httpRequest = (HttpServletRequest) request; String url = httpRequest.getRequestURL().toString(); logger.info("url地址原始" + url); url = java.net.URLDecoder.decode(url, "UTF-8"); logger.info("url地址解码后" + url); httpRequest.getRequestDispatcher(url.substring(url.lastIndexOf("/") + 1)).forward(request, response); //httpResponse.sendRedirect(url); //chain.doFilter(request, response); }
配置如下
<filter> <filter-name>urlFilter</filter-name> <filter-class>com.test.UrlFilter</filter-class> </filter> <filter-mapping> <filter-name>urlFilter</filter-name> <url-pattern>*.pdf</url-pattern> </filter-mapping>
参考
http://blog.csdn.net/zhengyang7754/article/details/47263599
http://blog.csdn.net/xiangcns/article/details/42089189
相关文章推荐
- js传递给NPAPI插件的字符串参数在Firefox下正常,在chrome下面会有乱码现象的问题解决
- [pdf.js]预览pdf时,中文名称乱码的问题
- 关于jquery.autocomplete.js自动提示插件中文乱码问题
- jQuery 插件form.js在gb2312中的乱码问题
- dokuwiki + dw2pdf 插件,解决导出pdf文件中文乱码(字体问题,显示小方块)
- js插件中的中文乱码问题
- js压缩时乱码问题
- Poperties Editor 插件------自动解决ApplicationResources.properties中汉字乱码问题
- ubuntu 7.10 下evince 查看pdf中文乱码的问题
- ajax,js文件中中文显示成乱码的问题
- ubuntu8.04 PDF中文乱码问题
- PDF文档的乱码问题
- js文件中文乱码问题
- [导入]asp.net页面调用js乱码问题
- 解决JSP引入JS文件后,JS文件中字符在页面上显示为乱码问题
- Ubuntu mp3&PDF乱码问题解决方法
- Eclipse下面包含js文件乱码的问题解决方案
- asp.net中引入外部js文件的中文乱码问题
- js压缩时乱码问题
- 用记事本解决js中文乱码问题