不管什么时候,编码一定要统一,这是保证数据能正确入库的前提。
首先要配置你的mysql的默认编码方式为UTF-8.
具体看my.cnf的配置.
(#cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf)
#下面是很重要的=====================================
[client]
#password             = your_password
port                  = 3306
socket                = /tmp/mysql.sock
default-character-set = utf8

[mysqld]
port            = 3306
socket          = /tmp/mysql.sock
skip-locking
key_buffer = 16M
max_allowed_packet = 1M
table_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
default-character-set = utf8
#===============================
当你配置好了以后,进入mysql,执行#status,可以看到以下结果。
--------------
mysql  Ver 14.12 Distrib 5.0.41, for pc-linux-gnu (i686) using readline 5.0

Connection id:          1
Current database:       jsp
Current user:           root@localhost
SSL:                    Not in use
Current pager:          stdout
Using outfile:          ''
Using delimiter:        ;
Server version:         5.0.41-log MySQL Community Server (GPL)
Protocol version:       10
Connection:             Localhost via UNIX socket
Server characterset:    utf8
Db     characterset:    utf8
Client characterset:    utf8
Conn.  characterset:    utf8
UNIX socket:            /tmp/mysql.sock
Uptime:                 1 hour 12 min 21 sec

Threads: 2  Questions: 390  Slow queries: 0  Opens: 18  Flush tables: 1  Open tables: 8  Queries per second avg: 0.090
--------------
这就说明mysql编码方式为UTF-8.


下面有一个问题就是tomcat编码问题,每个页面我都设成 contentType="text/html; charset=utf-8"  但最后用request.getParameter()得到还是乱码,这只能说明在请求时编码方式不正确。
在要处理参数的页面加入request.setCharacterEncoding("utf-8");
。这时就OK了。。。。
posted on 2007-07-26 18:45  林宁  阅读(2289)  评论(0编辑  收藏  举报