1、 如何启动outlook express 以及如何在其中设置邮箱服务?
启动是在 开始——程序——outlook express, 关于在outlook express的设置得参考各个邮箱服务商的网站, 网站上一般都会有此方面的“帮助”链接。
2、 OUTLOOK EXPRESS在收邮件的时候会出现错误,说登录邮件服务器时出错.密码被拒绝.怎么解决?
在网上搜索了一下, 可能的原因有很多。 我的结论是: 最大的可能是pop3没设置好,首先你要去你申请的邮箱那里设置开通pop/stmp功能,但是网易列入:@yeah.net 163等在2008年注册的用户都没有权利开通。我换了sina网并做了相应的配置后测试通过。
3、 最近在做struts2的上传下载练习时发现上传的文件名存在中文乱码的问题, 于是引发了我的另一个疑问:
charset与encoding的区别?
————————————网上淘到的解释(未完全验证)————————————
pageEncoding是jsp文件本身的编码
contentType的charset是指服务器发送给客户端时的内容编码
JSP要经过两次的“编码”,第一阶段会用pageEncoding,第二阶段会用utf-8至utf-8,第三阶段就是由Tomcat出来的网页, 用的是contentType。
第一阶段是jsp编译成.java,它会根据pageEncoding的设定读取jsp,结果是由指定的编码方案翻译成统一的UTF-8 JAVA源码(即.java),如果pageEncoding设定错了,或没有设定,出来的就是中文乱码。
第二阶段是由JAVAC的JAVA源码至java byteCode的编译,不论JSP编写时候用的是什么编码方案,经过这个阶段的结果全部是UTF-8的encoding的java源码。
JAVAC用UTF-8的encoding读取java源码,编译成UTF-8 encoding的二进制码(即.class),这是JVM对常数字串在二进制码(java encoding)内表达的规范。
第三阶段是Tomcat(或其的application container)载入和执行阶段二的来的JAVA二进制码,输出的结果,也就是在客户端见到的,这时隐藏在阶段一和阶段二的参数contentType就发挥了功效
contentType的設定.
pageEncoding 和contentType的预设都是 ISO8859-1. 而随便设定了其中一个, 另一个就跟着一样了(TOMCAT4.1.27是如此). 但这不是绝对的, 这要看各自JSPC的处理方式. 而pageEncoding不等于contentType, 更有利亚洲区的文字 CJKV系JSP网页的开发和展示, (例pageEncoding=GB2312 不等于 contentType=utf-8)。
jsp文件不像.java,.java在被编译器读入的时候默认采用的是操作系统所设定的locale所对应的编码,比如中国大陆就是GBK,台湾就是BIG5或者MS950。而一般我们不管是在记事本还是在ue中写代码,如果没有经过特别转码的话,写出来的都是本地编码格式的内容。所以编译器采用的方法刚好可以让虚拟机得到正确的资料。
但是jsp文件不是这样,它没有这个默认转码过程,但是指定了pageEncoding就可以实现正确转码了。
举个例子:
<%@ page contentType="text/html;charset=utf-8" %>
大都会打印出乱码,因为输入的“你好”是gbk的,但是服务器是否正确抓到“你好”不得而知。
但是如果更改为
<%@ page contentType="text/html;charset=utf-8" pageEncoding="GBK"%>
这样就服务器一定会是正确抓到“你好”了
——————————————————————————————————
charset:字符编码
pageEncoding:页面编码
在JSP标准的语法中,如果pageEncoding属性存在,那么JSP页面的字符编码方式就由pageEncoding决定,否则就由contentType属性中的charset决定,如果charset也不存在,JSP页面的字符编码方式就采用默认的ISO-8859-1。
pageEncoding设置JSP源文件和响应正文中的字符集编码.
contentType设置JSP源文件的字符集编码和响应正文的MIME类型.
可见,pageEncoding和contentType都可以设置JSP源文件和响应正文中的字符集编码.但也有区别:
设置JSP源文件字符集时,优先级为 pageEncoding > contentType.都没有设置,默认ISO-8859-1.
设置响应输出的字符集时,优先级为 contentType > pageEncoding.都没有设置,默认ISO-8859-1;都设置了,以contentType为准.实际上,response.setContentType()就是根据contentType属性设置的.
4、 ————————struts2中乱码而引发的一个问题————————————
1.为了能正确显示 jsp页面直接写的中文 在jsp页面正确显示添加下面字符设置。
<%@ page contentType="text/html;charset=GBK"%>
上面设置字符的语句我的理解为,1.告诉浏览器用GBK编码显示页面。2.设置request.setCharacterEncoding("GBK")
经过上面的设置之后,jsp中直接写的中文就可以正常显示了。
2.为了解决form提交到action中的中文参数乱码问题。
在struts2-core-2.0.6.jar 包中路径为struts2-core-2.0.6/org/apache/struts2 有一个default.properties 文件
把struts.i18n.encoding=UTF-8改为struts.i18n.encoding=GBK 或者在struts.xml里面改
这样在action中取到的参数不用自己手工转码 了。
——————问题是:
以前都是使用的utf-8, 为什么在此处使用utf-8却乱码呢? 为什么一定要gbk才能搞定呢?
——————————扩展——————————
中文乱码,分别是页面乱码、action乱码,和数据库乱码。
java使用unicode编码,window使用gbk(gb2312的扩展集),mysql默认使用utf-8编码,一不小心就有可能出现乱码
这里主要说一下页面乱码的处理,
1、在struts2框架中,jsp页面一般设置为utf-8
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
2、项目的字符集也应设置为utf-8,
使用struts.xml的设置方法
<constant name="struts.locale" value="zh_CN" />
<constant name="struts.i18n.encoding" value="UTF-8" />
使用struts.properties 的设置方法
struts.locale=zh_CN
struts.i18n.encoding=UTF-8
3、这里jsp页面使用struts2的标签开发,关键就在于国际化的资源文件了,struts2的资源文件采用properties文件格式,但是必须的用Unicode编码,这里特别要说的是,用系统自带的记事本编写资源文件后再用Unicode编码格式保存是不可以的,这样做页面中仍然还是乱码,我所用的是UltraEdit编写资源文件,然后保存为Unicode-ASCII Escaped格式,这样就没有问题了
4、 前台jsp表单提交中文参数过去,在action中调试时总是接收到乱码
表单使用的是post提交方式
jsp页面设置
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
struts.xml 也设置了 <constant name="struts.i18n.encoding" value="UTF-8" />
自己还写了一个拦截器
public class CharEncodinInterceptor extends AbstractInterceptor {
@Override
public String intercept(ActionInvocation invocation) throws Exception {
HttpServletRequest request = ServletActionContext.getRequest();
request.setCharacterEncoding("UTF-8");
return invocation.invoke();
}
}
并且已经成功引用该拦截器
此外tomcat 页设置了 URIEncoding="UTF-8"
但是action 中接收中文时还是乱码
——————最好两个都设置
<%@ page contentType=”text/html; charset=UTF-8″%>
<%@ page pageEncoding=”UTF-8″ %>