不管什么时候,编码一定要统一,这是保证数据能正确入库的前提。
首先要配置你的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了。。。。
首先要配置你的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了。。。。