Tomcat5+Mysql文中乱码问题的解决方法 (转)
Tomcat 下最容易到的问题就是中文乱码问题了 , 下面就来谈谈我在 Windows +Tomcat5 下调试 JSP 程序时 , 所碰到的问题以及解决办法。
这次调试所遇到的乱码问题主要有三类:
一、 页面字符乱码。
即整个页面出现汉字乱码(不管是用 HTML 格式写的,还是用 print() 方法输出的汉字,全部显示为乱码)。
二、 Request 传递乱码。
在用 post , get 等方法,传递变量时出现乱码;需要进行 cookies 或者 session 调用时出现乱码。
三、 数据库存取乱码。
在进行数据库存取时,或者存入数据库,或者读出数据时出再乱码。
下面就这三类乱码进行分析并谈谈我的解决方法:
一、 页面字符乱码。
我们先写下这样的一个 jsp 文件:
//testPagErr.jsp
<%
out.println(“ 能显示中文吗? ”);
%>
如果我们直接按照默认的配置启动 Tomcat5 ,然后访问这一个页面的时,将输出的中文将显示为乱码。其原因很简单,这是由于在 Tomcat5 默认的设置下,将按照 ISO-8859-1 进行编码。解决这个问题最直接的做法是,有每个有中文输出的 jsp 文件的开头加一句:
<%@ page contentType="text/html;charset=GBK" // (改成 GB2312 亦可,本文中均以 GBK 为例) %>
但是这样做存在很多问题,首先,这一句开指令在 include 的时候,不能够被子文件继承,因此,我们必须在子文件中重新加入这一句话,但如果大小写不话,就会出现类似于以下的错误:
org.apache.jasper.JasperException: /top.jsp(1,1) Page directive: i
相关文档:
MySQL语句优化的基本原则:
◆1、使用索引来更快地遍历表。
缺省情况下建立的索引是非群集索引,但有时它并不是最佳的。在非群集索引下,数据在物理上随机存放在数据页上。合理的索引设计要建立在对各种查询的分析和预测上。一般来说:
a.有大量重复值、且经常有范围查询( > ,< ,> =,& ......
虽然说我们尽量在写程序的时候控制插入到数据库的数据,而不要用数据库去判断数据的对错,但是有时候为了方便还是需要数据库自身的容错能力来帮助我们达到目的的。举例说明:
创建如下数据表
CREATE TABLE `book` (
`id` int(11) default NULL,
`num` int(11) unsigned default NULL
) ENGINE=InnoDB DE ......
公司mysql统一用latin1的编码,真是叫人苦不堪言。Django用默认UTF8访问MYSQL数据库。在操作数据库时,不管你怎么转码,最终写到数据库里的中文都是乱码。在网上找了很久,也没解决这个问题。
后来看了一个DJANGO的MYSQL操作的源码,发现了一些问题 先是/d ......
解决乱码最好的方法是在项目设计之初,统一所有的字符集,例如页面、request对象以及数据库等等。
一、 几种常见的乱码现象:
1、页面乱码
单纯的页面乱码是很好解决的,只要修改头部适合的字符集即可,如果页面中文显示乱码,你可以把字符集修改为:gb2312或gbk。
2、页面之间传递的参数是乱码 ......
http://www.itlearner.com/article/2009/4325.shtml
这次是Fotolog
的经验,传说中比Flickr更大的网站
,Fotolog在21台服务
器上部署了51个memcached实例,总计有254G缓存空间可用,缓存了多达175G的内容,这个数量比很多网站的数据库都要大的多,原文是A Bunch of Great Strategies for Using Memcached and MySQL Bet ......