随笔分类 -  Encoding-Problems

Various encoding problems and solutions
摘要:一个简单的创建表的代码DROP database IF exists reg_login;CREATE database reg_login;use reg_login--用户表create table user_table( user_id int(11) auto_increment, u... 阅读全文
posted @ 2014-06-19 20:45 rldts 阅读(480) 评论(0) 推荐(0) 编辑
摘要:我是用的source指令来执行sql脚本文件时发现的这个错误我的数据库用创建的时候create Database If Not Exists XXXXXX Character Set UTF8;那个sql脚本文件貌似是GBK编码先执行set names GBK,然后再执行脚本,就没问题了 阅读全文
posted @ 2014-06-17 11:19 rldts 阅读(431) 评论(0) 推荐(0) 编辑
摘要:方法:MultipartParser mp = new MultipartParser(request, 10*1024*1024); mp.setEncoding("GBK"); //加上这行代码即可示例:upload.htmlenctype属性测试上传文件: 请求参数 cosUpload.j... 阅读全文
posted @ 2014-06-10 16:41 rldts 阅读(1844) 评论(0) 推荐(0) 编辑
摘要:文件: 备注: 上传到/WEB-INF/upload之后,文件名是乱码解决办法:UploadForm.reset()中添加代码: try { request.setCharacterEncoding("U... 阅读全文
posted @ 2014-06-06 12:33 rldts 阅读(489) 评论(0) 推荐(0) 编辑
摘要:今天遇到这么一个情况,在Action代码中进行文件下载: ActionForm得到file_id,通过file_id进行数据库查询得到file_name以及服务器硬盘上的file_uri,其中file_name是中文,然后通过如下代码下载response.setContentType("application/x-download");response.setHeader("Content-Disposition","attachment;filename="+file_name);OutputStream outputStream 阅读全文
posted @ 2014-02-18 10:13 rldts 阅读(18428) 评论(0) 推荐(1) 编辑
摘要:1. 提交form后页面空白,没有任何显示,Debug发现form的validate()以及action的execute()根本没有被调用。 原因:validate()和execute()有2个互为overloading关系的版本,一个版本的参数类型是ServletRequest,ServletResponse,另一个版本的参数类型是HttpServletRequest,HttpServletResponse。我在写的时候写成不带Http的那个版本了。2. JSTL的标签报exception,exception的意思大概是根据TLD里面的定义,该标签的test属性不接收参数 原因:的uri.. 阅读全文
posted @ 2014-02-11 08:38 rldts 阅读(510) 评论(0) 推荐(0) 编辑
摘要:点击了submit按钮,就创建了另一个request了比如你有a.jsp,上面有个form,form的action指向某个Servlet或者Action,那么你在a.jsp页面上写的request.setCharacterEncoding或者JSTL的对于submit之后创建的request是毫无影响的,所以,如果你想解决submit之后创建的request的encoding问题,就要把encoding的代码写到Servlet或者Action中,又或者你创建一个Filter来解决 阅读全文
posted @ 2014-01-24 16:07 rldts 阅读(297) 评论(0) 推荐(0) 编辑
摘要:通过GET提交参数有2种 1、浏览器地址栏输入URL?parameter1=value1&parameter2=value2 2、这种情况下提交的参数request.setCharacterEncoding()对其无效,同样的JSTL的也不起作用 阅读全文
posted @ 2014-01-21 14:11 rldts 阅读(369) 评论(0) 推荐(0) 编辑
摘要:根据struts的工作原理,原文摘自《Java Web 开发实战经典》在运行一个JSP页面前,会调用指定的ActionForm中的reset()方法,进行表单元素的初始化因此,在相应的ActionForm的reset()中加入如下代码即可,这里假设你的JSP页面编码是UTF-8:try { request.setCharacterEncoding("UTF-8");} catch (UnsupportedEncodingException e) { e.printStackTrace();} 阅读全文
posted @ 2014-01-20 19:39 rldts 阅读(273) 评论(0) 推荐(0) 编辑
摘要:注意:一般一个站点的所有页面的编码,包括数据库编码都要保持一致,下面默认的编码都是UTF-8----------------------------------例1:直接提交到jsp页面----------------------------------input_info.htmlInsert title here 请输入要显示的内容: display_info.jspInsert title here CharacterEncodingFilter.java charset参数是从web.xml中配置好的,... 阅读全文
posted @ 2014-01-11 17:29 rldts 阅读(1384) 评论(0) 推荐(0) 编辑
摘要:首先,web.xml中不建议出现超出ASCII范围的字符但是作为一点积累,简单举个例子如下,其核心代码就是new String(String.getBytes(charset_1), charset_2) 1 public class SimpleFilter implements Filter { 2 3 private boolean enable = false; 4 5 public void init(FilterConfig config) 6 throws ServletException{ 7 String... 阅读全文
posted @ 2014-01-11 16:00 rldts 阅读(269) 评论(0) 推荐(0) 编辑
摘要:参考资料: http://www.blogjava.net/persister/archive/2009/10/02/297103.html http://blog.csdn.net/xiaozhengdong/article/details/7499020 http://www.blogjava.net/andy-huang/articles/base64.html在创建Cookie的时候不能直接写入中文,如果要的话,需要进行转码。如果你手头有BASE64Encoder和BASE64Decoder的API的话,如下:public static String encryptBASE64(... 阅读全文
posted @ 2014-01-01 16:03 rldts 阅读(334) 评论(0) 推荐(0) 编辑
摘要:症状-分析: 刚才在eclipse中执行sql文件,发现数据进入数据库的时候总是乱码 后来查看MySQL的编码设置,全是UTF8,没问题,sql文件本身也是UTF8的编码 并且,使用MySQL的CMD输入mysql> source ...也能正确导入,说明问题出在eclipse这里 因为刚才的sql文件我没有加上后缀名sql,使用的是txt,并且编码为ISO-8859-1,然后我使用Edit>Set Encoding修改编码为UTF8,并在eclipse中Rename修改了后缀名为sql 然后这样执行的sql文件,如图: 执行结果:乱码 解决方案: 这样执行,结果就没有乱码... 阅读全文
posted @ 2013-12-29 20:00 rldts 阅读(677) 评论(0) 推荐(0) 编辑
摘要:1.以root用户的身份登录,查看编码设置mysql> SHOW VARIABLES LIKE 'character%';+--------------------------+----------------------------+| Variable_name | Value |+--------------------------+----------------------------+| character_set_client | latin1 || character_set_connection | latin1 || character_set_dat 阅读全文
posted @ 2013-12-29 19:43 rldts 阅读(391) 评论(0) 推荐(0) 编辑
摘要:1 3 4 5 6 7 Insert title here 8 9 10 11 12 13 14 15 display.jsp 1 3 4 5 6 7 8 Insert title here 9 10 11 12 13 我使用了filter,代码如下: 1 package org.lxh.filterdemo; 2 3 import java.io.IOException; 4 import java.nio.charset.Charset; 5 6 import javax.servlet.Filter; 7 import javax.serv... 阅读全文
posted @ 2013-07-14 17:21 rldts 阅读(571) 评论(0) 推荐(0) 编辑
摘要:下面的任何一条缺一不可,注意,我之所以全部都用的XXX,意思就是这几个最好全部都一致!1、HTML中要用meta content="text/html; charset=XXX"来指出HTML页面的编码为XXX,XXX必须和HTML文件本身的编码一致!2、JSP页面中必须要出现pageEncoding="XXX"用来指出JSP文件本身的编码,这样JSP文件在编译为java文件的时候才不会有乱码(并且JSP文件对应的java文件是UTF-8的编码),然后JSP文件对应的java文件被编译为class文件,仍然是UTF-8编码,最后class文件被web-c 阅读全文
posted @ 2013-07-08 22:09 rldts 阅读(506) 评论(0) 推荐(0) 编辑
摘要:今天调代码的时候,突然发现,服务器开着,什么都没有问题,当我把下面这个filter给deploy了以后,访问所有的页面就都是空白。后来发现,是因为在代码路径中,有一条路径没有调用filterChain.doFilter(request, response),想来也是,你这不就等于把HttpServletRequest给丢失了么web.xml中,在enable="false"的情况下,会出现我上面描述的问题,代码如下 1 package org.foo.filterdemo ; 2 3 import java.io.* ; 4 5 import javax.servlet.* 阅读全文
posted @ 2013-07-08 17:41 rldts 阅读(2474) 评论(0) 推荐(0) 编辑
摘要:其实就是利用这么一个原理:byte[] bytes = str.getBytes("iso-8859-1");String result = new String(bytes, charset); // 将str转化为你指定的charset encoding这个filter解决了什么问题呢?其实就是解决了使用request.getParameter时的乱码问题,比如说,你有一个a.html或者a.jsp发送request给servlet_b,servlet_b利用request.getParameter把参数提取出来,然后送到c.jsp去显示,如果你的a.html/jsp使 阅读全文
posted @ 2013-07-08 17:08 rldts 阅读(3886) 评论(0) 推荐(0) 编辑
摘要:Charset.isSupported() 阅读全文
posted @ 2013-07-08 12:57 rldts 阅读(183) 评论(0) 推荐(0) 编辑
摘要:代码就在下面,最开始我以为是request和response的编码问题,还去搞了一个filter,结果最后发现跟filter半毛钱关系都没有,都是因为没有打印这么一句out.println("");input.html 1 2 3 4 5 Insert title here 6 7 8 9 请输入内容:10 11 12 13 InputServlet.javapackage org.lxh.servletdemo ;import java.io.* ;import javax.servlet.* ;import javax.serv... 阅读全文
posted @ 2013-07-08 10:43 rldts 阅读(773) 评论(0) 推荐(0) 编辑