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
相关文档:
一、安装
#
yum -y install mysql-server
二、配置
# vi /etc/my.cnf ← 编辑MySQL的配置文件
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility pack ......
我在登录MySQL后的命令行是这个样子的:
warmbupt@pchuang:/windows/MyCode/SS$ mysql -u root -ppassw0rd
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 37
Server version: 5.1.37-1ubuntu5.1 (Ubuntu)
Type 'help;' or '\h' for help. Type '\c' to clear the curr ......
内存表使用哈希散列索引把数据保存在内存中,因此具有极快的速度,适合缓存中小型数据库,但是使用上受到一些限制,以下是蓝草使用的一些感受。
1、heap对所有用户的连接是可见的,这使得它非常适合做缓存。
2、仅适合使用的场合。heap不允许使用xxxTEXT和xxxBLOB数据类型;只允许使用=和<=>操作符来搜索记录(不 ......
解决乱码最好的方法是在项目设计之初,统一所有的字符集,例如页面、request对象以及数据库等等。
一、 几种常见的乱码现象:
1、页面乱码
单纯的页面乱码是很好解决的,只要修改头部适合的字符集即可,如果页面中文显示乱码,你可以把字符集修改为:gb2312或gbk。
2、页面之间传递的参数是乱码 ......
MySQL语句优化的基本原则:
◆1、使用索引来更快地遍历表。
缺省情况下建立的索引是非群集索引,但有时它并不是最佳的。在非群集索引下,数据在物理上随机存放在数据页上。合理的索引设计要建立在对各种查询的分析和预测上。一般来说:
a.有大量重复值、且经常有范围查询( > ,< ,> =,< ......