折腾了一个多月终于把节目管理系统的项目做完了,虽然不大,不过也学到挺多!但是乱码就让我郁闷了一个多星期……
刚开始不熟悉eclipse开发环境,注释时候写中文都保存不了,后来看了书,把PageEncoding设成GBK就可以了……后来发现表单提交到action里还是有乱码,百度了一下,看到某些朋友的方法,new StringgetBytes("ISO-8859-1"),"gbk")
试了一下也可以解决……心想万事大吉了,百度期间也知道了有过滤器一说……试了一次出错了,就在有乱码的时候都new一下,百试不爽!
后来问题来了,要把师兄用dojo做的那棵树整合起来,之前测试过,都没出错……那天发现文件夹是中文名时候点击文件夹就显示不出子目录,而且列表页面也显示不出来……弹出警告窗口500内部错误。
再后来老师也过来看,搞了半天也没弄出来,还找了dojo的官方网站,有个全局编码设置djConfig,不过没地方设置……试着在最先引入dojo包的地方加,不过不行……后来把tomcat conf目录中server.xml中设置useBodyEncodingForURI="true" URIEncoding="utf-8",所有页面都设置成UTF-8了还是不行……
结果反而让我原来的全乱码了,现在都设置成UTF-8了,传递过去的值就不用
new StringgetBytes("ISO-8859-1"),"gbk")都行……结果又一个个功能的改了一遍!
我偶然通过页面查看源代码时候发现dojo那棵树那有编码方式了djConfig=“gbk”;也不知哪来的……我就想着把所有文件都编码都改了!发现struts.xml中有
<constant name="struts.i18n.encoding" value="GBK"></constant>
我改成UTF-8试了一下,嘿嘿 可以了,点击中文文件夹也可以展开了,怎一个高兴了得!谁知还没完呢,点击链接又出问题了,有部分是乱码……而且很奇怪的是奇数个汉字的时候总是最后一个字乱码,真见鬼了!百度 google都没找到办法……一连几次去实验室就解决这个问题了,还是不行……我想是不是json的问题,上网下了几个jar包换上,错误依然……
今天下午去突然想查查”javascript url 乱码“的词条,结果发现用url传递中文都应该编码或者加密一下:
js对文字进行编码涉及3个函数:escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decodeURIComponent
1、 传递参数时需要使用encodeURIComponent,这样组合的url才不会被#等特殊字符截断。
例如:<script language="javascript">document.write('<a href="http://passport.baidu.com/?logout&aid=7&u='+encodeURIComponent("http://cang.baidu.com/bruce42")+'">退出</a>');</script>
2、 进行url跳转时可以整体使用encodeURI
例如:Location.href=encodeURI("http://cang.baidu.com/do/s?word=百度&ct=21");
3、 js使用数据时可以使用escape
例如:搜藏中history纪录。
4、 escape对0-255以外的unicode值进行编码时输出%u****格式,其它情况下escape,encodeURI,encodeURIComponent编码结果相同。
最多使用的应为encodeURIComponent,它是将中文、韩文等特殊字符转换成utf-8格式的url编码,所以如果给后台传递参数需要使用encodeURIComponent时需要后台解码对utf-8支持(form中的编码方式和当前页面编码方式相同)
escape不编码字符有69个:*,+,-,.,/,@,_,0-9,a-z,A-Z
encodeURI不编码字符有82个:!,#,$,&,',(,),*,+,,,-,.,/,:,;,=,?,@,_,~,0-9,a-z,A-Z
encodeURIComponent不编码字符有71个:!, ',(,),*,-,.,_,~,0-9,a-z,A-Z
上面一段是引用过来的~
我在js传递链接前加上了encodeURIComponent("");我还想着怎么在action里解码呢结果一运行居然成功了。可能是action里写了request.getParameter("gbk")的原因吧
总之是编码问题解决了 还是自己经验不足呀,得多学学多积累,希望这种问题以后不会在折腾我了
分享到:
相关推荐
标题和描述提到的是"Never Say Goodbye"这首歌,由Baby VOX演唱,而标签和部分内容是歌曲的歌词。如果你需要关于IT的知识,例如编程、网络技术、软件开发或者数据分析等相关内容,请提供正确的输入,这样我才能为你...
在IT领域,学习永无止境,"杂文 never say goodbye to learn"的主题鼓励我们持续探索和提升自己的技能。在这个快速发展的行业中,不断学习是保持竞争力的关键。让我们逐一解析压缩包中的三个文件,看看它们能为我们...
linux_lvs永志不谕 Time To Say Goodbye_there for me for love_happay.rar linux_lvs永志不谕 Time To Say Goodbye_there for me for love_happay.rar
"老外教你说英语第一课:Say Hello and Goodbye"这一主题旨在帮助我们了解如何在不同的场合下恰当地使用问候语。 首先,最常用的问候语就是"Hi"和"Hello",它们可以单独使用,也可以搭配其他表达,如"Hi there"或...
大一高英Unit1《Never Say Goodbye》的说课稿,为我们提供了一个教学设计的范本,它不仅关注语言知识的传授,而且强调情感态度与价值观的培养。 该说课稿的主要教学内容是高校英语综合教程第一册第一单元的Text1...
标题中的“KClutter - Say goodbye to p2p clutter!”提到了一个名为KClutter的工具,它显然是针对P2P(对等网络)环境设计的,旨在帮助用户管理和清理与P2P应用相关的文件混乱。这个工具的核心功能是通过关键词搜索...
通过我们基于AI的搜索功能,可以在电子邮件和消息中搜索重要链接。 链接查找器ai通过自动保存所有重要链接来减轻创建书签的负担。 您永远不会再失去重要的链接,因为您忘记了从中创建书签。 您将无需搜索电子邮件,...
轻松绕过极域电子教室、和教师控制 Say GoodBye-附件资源
欧拉公式求圆周率的matlab代码 Goodbye Say Goodbye to problems with my solutions to problems from . I will be using Python 2.7 .
script js event Say Goodbye to Macro Envy with Active Scripting
【插件简介】 ... Say goodbye to the hassle of creating fog and volumetric lighting from scratch, and say hello to a wide range of 35+ presets available at your fingertips with just one click.
Say goodbye to fuzzy or tiny fonts and glyphs. Now integrate with 10.3 Rio's new TVirtualImageList so that your app looks great on all monitors. Prior versions of 1stClass would not scale text ...
Qt4 OpenGL英文教程 花了十几美元 ,亚马逊购买,带源码 1. About These Tutorials 2. Setting Up Qt and ...14. Say Goodbye to Jagged Lines 15. The Translucent Sphere 16. The Fog 17. OpenGL and Qt Resources
Say goodbye to fuzzy or tiny fonts and glyphs. Now integrate with 10.3 Rio's new TVirtualImageList so that your app looks great on all monitors. Prior versions of InfoPower would not scale text ...
def say_goodbye(person_name): print 'Goodbye, %s' % person_name 我们可以把问候语提取出来变成一个参数: def greet(person_name, greeting): print '%s, %s' % (greeting, person_name) 通过使用额外的...
2. We’re going to say goodbye to them. 我们即将对他们说再见。 3. She’s going to do her homework. 她将要做她的家庭作业。 4. — What are you going to study? — French. — 你打算学习什么?— 法语。 5. ...
They-Say-I-say-PDF-templates 模板
在导入新课阶段,教师通过播放歌曲"It’s time to say goodbye"来营造离别的氛围,让学生进入学习情境。接着进行单词游戏,如"find the different words",旨在复习和巩固词汇,如"happiness", "wish", "kind"。通过...