
编码问题是很多人都困惑的,这里我来说下自己对编码的认知。
首先出现乱码大家都知道是中文字符转换的原因,那么到底哪些地方需要设置编码这就是需要探究的问题。
楼主用的是java web,所以总结有以下几点:
第一。jsp页面。。jsp页面有三个可以设置编码的地方,而我们一目了然能看到的有2处,分别是头部声明里的charset=UTF-8和pageEncoding="UTF-8" 这里编码我暂时用utf-8。还有一个就是requestsetCharacterEncoding(“UTF-8”),要知道它们都代表什么就必须先了解jsp到底是怎么运行的。我们将配置好的的项目运行(只有一个indexjsp的jsp文件),我的serverxml设置的虚拟目录是path=“”。然后我们到这个目录下tomcat60\work\Catalina\localhost\_\org\apache\jsp找到一个index_jspjava的文件。点开查看,我们会惊奇的发现这个竟然是一个servlet类而他处理的东西正是我们的indexjsp 也就是说容器执行jsp实际是把jsp先翻译成了一个servlet再让服务器执行的。知道这个我们不难猜出requessetCharacterEncoding("utf-8")肯定是和servlet里一样的get请求的编码,也就是提交参数时需要的。而在翻译的java文件里找到这句话responsesetContentType("text/html; charset=UTF-8"),原来charset就是设置我们的服务器响应编码。那么最后个pageEncoding是什么呢。他其实就是jsp翻译为servlet时用到的翻译编码!
知道了jsp的编码后我们来探讨其他哪些地方还需要设置,刚刚我们知道了jsp的servlet是需要设置编码的,那么同样的道理,我们自己的servlet当然也需要,所以在 *** 作servlet的时候最好加上response和request的编码设置,一般我们为了简便把它统一的设置在过滤器里,让过滤器拦截所有请求从而达到设置编码的目的。这个搞定后剩下的就是数据库的编码了,我们安装数据库的时候都会有设置默认编码的界面吧,这说明数据库也是需要编码的,这个就不具体阐述了,设置的地方自己查看!最后的问题,如果我们收到的数据是已经被编码的数据怎么办,这时候就需要String(sgetBytes("ISO8859-1"), "utf-8")进行string的先编码再转码,这个可以同样的我们用过滤器统一过滤。这里最后建议大家最好使用统一的编码,utf-8是个比较好的选择,如果在各个地方都设置好,乱码问题就不会存在了
批量数据进入数据库使用addBatch()和executeBatch()方法
PreparedStatementaddBatch(); PreparedStatementexecuteBatch();需要注意的是一次最多不要超过50条:1因为插入的时候数据库已经锁定,然而若是一次性插入太多会造成其他业务的等待。2会造成内存的溢出
举例:
PreparedStatement pst = (PreparedStatement) conprepareStatement("insert into values (,'')"); for (int i = 0; i < 10000; i++) { pstsetInt(1, i); // 把一个SQL命令加入命令列表 pstaddBatch(); } // 执行批量更新 pstexecuteBatch(); // 语句执行完毕,提交本事务 concommit();
以上就是关于java后台数据库中的表中的字段是英文使用过程中全部使用英文 只有输出才是中文这问题有什么解决的思路全部的内容,包括:java后台数据库中的表中的字段是英文使用过程中全部使用英文 只有输出才是中文这问题有什么解决的思路、JAVA如何实现数据库的批处理 *** 作、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)