« 我是个不解风情的棒槌。 | 首页 | Slackware 10.2 is released! »

mysql 中文编码问题 with JSP and PHP

slackware current
mysql 4.14
默认建立数据库之后jsp插入中文乱码
以为是jsp里写的jdbc不对。

Code:

Class.forName("com.mysql.jdbc.Driver").newInstance();
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/
sample_db?user=root&password=123456
&useUnicode=true&characterEncoding=GB2312");  

后来用phpmyadmin连上数据库仍然不能正常插入中文数据,显示的全是?????
看来不是jdbc的问题了。
又看到sir上的这个文章
http://slack.linuxsir.org/main/?q=node/165
都想自己重新编译安装mysql了。
后来发现phpmyqamin里在建立数据库的时候有选择字符编码的选项。
Code:

CREATE DATABASE `sample_db`
DEFAULT CHARACTER SET gbk COLLATE gbk_bin;

试了一下还真好用了。
按照sir上的兄弟的作法应该是比较彻底的,比如我这样做仍然不能让mysql的命令行输入和显示中文。
我的linux的locale是gbk的。
不知道是不是因为这个原因:
Code:

mysql> use sample_db;
Database changed
mysql> status
--------------
mysql  Ver 14.7 Distrib 4.1.14, for slackware-linux-gnu (i486) using  EditLine w rapper

Connection id:          90
Current database:       sample_db
Current user:           root@localhost
SSL:                    Not in use
Current pager:          stdout
Using outfile:          ''
Using delimiter:        ;
Server version:         4.1.14
Protocol version:       10
Connection:             Localhost via UNIX socket
Server characterset:    latin1
Db     characterset:    gbk
Client characterset:    latin1
Conn.  characterset:    latin1
UNIX socket:            /var/run/mysql/mysql.sock
Uptime:                 2 hours 11 min 21 sec

Threads: 1  Questions: 1431  Slow queries: 0  Opens: 24  Flush tables: 1  Open t ables: 2  Queries per second avg: 0.182


但一直都用phpmyadmin,呵呵,凑合用就成了。

encoding1


encoding2


encoding3


引用:

本篇引用地址:
http://www.vetcafe.net/cgi-bin/mt3/mt-tb.cgi/2416

发表评论

(如果您以前没在这里发表过评论,也许您发表的评论需要Blog主人的审核才能显示在这里,感谢您的静候。)