Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1147486
  • 博文数量: 234
  • 博客积分: 5592
  • 博客等级: 大校
  • 技术积分: 1987
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-23 14:12
文章分类

全部博文(234)

文章存档

2015年(1)

2013年(4)

2012年(16)

2011年(204)

2010年(9)

分类: Java

2011-06-18 10:38:38

在开发中总遇到乱码问题。所以自己在网上搜集并摘录在这里,以便以后查询使用。

1.对于在myeclipse中JS注释文字乱码问题

对于乱码问题,主要 有MyEclipse的设置有关,可以在MyEclipse的选项卡中找到Editors此选项卡下的jsp选项卡窗口,有一个Encoding属性值, 可选择Chinese即可解决显示乱码的问题!对于乱码是不会导致myEclipse语法错误提示的!

现在就重点讲讲导致 语法错误的问题解决方案,对于一般的web应用开发,我个人不建议使用myEclipse这个插件,个人推荐使用WTP这个插件,而且目前官网也将此插件 结合到Eclipse之中,可见此插件之易用性和可用性。在Eclipse官网上下载Java EE Developers 这个版本即可!此版本非常适用于WEB项目的开发。此插件可解决上述楼主的所有问题。但不建议与myEclipse一些使用。

2.在使用tomcat服务器时,如在跳转路径中传递中文参数会出现乱码现向!

如:以

两种方式提交的变量flag在LoginServlet中用 request.getParameter(“flag”);时就会出现乱码问题。

解决:在tomcat/conf/servlet.Xml中 加入一段代码:


               enableLookups="false" redirectPort="8443" acceptCount="100"
               debug="0" connectionTimeout="20000"
               disableUploadTimeout="true" URIEncoding="true"/>

3.如果uri中转递的是参数要发送到jsp页面,则必须在接受代码的jsp页面里面还要加入代码:
<% request.setCharacterEncoding("gb2312");%>

4.在.js文件中加入了中文,添加到MyEclipe时就变成乱码了,但是网页能够正确显示中文,但是乱码怎么解决?

在 myeclipse 的 preferences-属性 中搜索 javascript,搜到以后把它的Editing files 下的 Encoding 改为 Chinese,National Standard 就好了 也就是 GB18030 .

5.对于在浏览器中JS输出文字乱码问题

如果web application的编码规则是utf-8,如网页头中的:

那么js文件中如果有中文输出就会出现乱码,解决此个问题可在引用javascript输出的地方加上charset="gb2312" 或 charset="big5"(假设输出的是Big5繁体字)。

例:

6.引用多个js文件,inntext输出中文乱码问题

原来写的js文件,从来没有关心过他们的编码问题。可是后来不知怎么的,发现一些单独都好使得文件,被同时引用到一个页面中时,特别是JS里面有中文时。有时候就出现中文在浏览器输出乱码问题。一个一个的看编码。最后找到了原因。

一般我们在中文OS 中保存文本文件,默认都是一GB2312编码保存的,可是当我们在脚本代码中写有"?"这些符号后,保存文件会提示让你保存为Unicode格式。如果你 不加理会,仍然保存为GB2312,那么下次打开这个文件你会发现"?"变成"?"@_@。这样的字符还有一些,比如在Windows中的高位ASCII 字符,它们的Unicode定义就是一些比较怪异的字符,如果用GB2312强行存这些字符,打开后会被两两合并为汉字或成为乱码。

回到我们脚本文件编 码的问题上来,如果我们在同一个页面中引用多个JavaScript文件,而这些文件的保存编码又不同(有GB2312有又Unicode),就可能出 错。当然不是总都出,这也是最要命的。由于对于7bit ASCII码,不管什么编码都是通用的,也不会有解码问题,可是如果文件里包含了汉字,就有可能出错了。

比如,GB2312保存的js文件: var str = '这是一个GB2312编码文件。';
var description = 'this file saved as GB2312 encoding.';    可以在选择编码为GB2312的IE中正确的被引用。

    Unicode编码保存的js文件: var strW = '这是一个Unicode编码文件。';
var descriptionW = 'this file saved as Unicode encoding.';    可以在选择编码为Unicode的IE中正确的被引用。

    而这两个文件在下列引用中,不管怎么选择IE编码也是不能正确执行结果:(

    Test Encode
   
   





我的解决方法是:还是要和页面的编码保持一致。比如我的ftl文件编码是utf-8的。那么我一般会把JS文件用记事本打开。然后另存。名字不改。只是把下面的编码改为“utf-8”格式的。

然后引用JS
然后从新启动服务。问题就解决了!

7.使用freemarker+springMVC的框架,不知道在.ftl文件中如何截取指定长度的中文字符串,freemakert有自己的函数

时期也可以用CSS来控制。但是有一个弊端。就是只能控制显示一行的数据。如果是多行的就不行了。正好我用的是freemarker框架。有自己的函数。否则就要用JS或者是在服务端进行控制

<#if news.title?length lt 13 >   
       ${news.title}
       <#else>
       ${news.title[0..12]}...

顺便说下:ISO8859-1、utf-8和gb2312的意义

ISO8859-1,通常叫做Latin-1。Latin-1包括了书写所有西方欧洲语言不可缺少的附加字符。
而gb2312是标准中文字符集。
UTF-8 是 UNICODE 的一种变长字符编码,即 RFC 3629。简单的说——大字符集。可以解决多种语言文本显示问题,从而实现应用国际化和本地化。

对系统来讲,UTF-8 编码可以通过屏蔽位和移位操作快速读写,排序更加容易。UTF-8 是字节顺序无关的,它的字节顺序在所有系统中都是一样的。因此 UTF-8 具有更高的性能。

不过如果是纯英文的话,用什么都可以,用GB2312也没问题。

8.我在重新GHOST我的机器以后,启动myeclips出现“could not create the java virtual machine”的错误的解决方法

1、在D:\Program Files\MyEclipse 6.1 Blue\eclipse有个eclipse.ini文件,原来的配置如下:

-showsplash com.genuitec.myeclipse.blue.product.ide --launcher.XXMaxPermSize 256m -vmargs -Xms128m -Xmx512m -Duser.language=en XX:PermSize=128M -XX:MaxPermSize=256M


2、现在将原来配置改成如下所示:

-showsplash com.genuitec.myeclipse.blue.product.ide --launcher.XXMaxPermSize 256m -vmargs -Xms128m -Xmx512m -Duser.language=en -XX:PermSize=64M //修改此处 -XX:MaxPermSize=128M


只要修改以上代码后,myeclipse便可以启动了

另,此配置eclipse中tomcate 也有,最大内存不可大于自身内存.

9.在myeclipse中编辑显示ftl文件,安装freemarker IDE插件

我用的是myeclipse环境来做开发,但是发现刚开始点击FLT无法编辑和显示 。办法如下:

1.先到下载插件

2. 解压,将hudson.freemarker_ide_0.9.14文件夹放入eclipse下或者myeclipse下的eclipse下的的plugins文件夹。

3. 发现hudson.freemarker_ide_0.9.14下的 freemarker-2.3.6.jar包是比较早的版本,用新的freemarker-2.3.15.jar替换之,把MANIFEST.MF里的 Bundle-ClassPath也改为freemarker-2.3.15.jar

4. 退出Eclipse或者myeclipse再重启,在window --> Preferences 左边的树形栏里出现FreeMarker Editor一项新的内容。在General --> Editors --> File Associations下,为*.ftl文件添加(add)FreeMarker Editor 作他们关联的编辑器(associated editors) , *.ftl文件的默认编辑器就是FreeMarker Editor。

阅读(5714) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~