MySQL 将默认编码改为gb2312的几个步骤【转贴】

0 views
Skip to first unread message

kv0002

unread,
Sep 15, 2005, 9:28:41 PM9/15/05
to KaKaSky
想不出现乱码,就要做到如下几步:

1.数据库连接时要用GB2312编码连接

DBDriver = "org.gjt.mm.mysql.Driver";
ConnStr =
"jdbc:mysql://localhost:3306/vote?useUnicode=true&characterEncoding=GB2312&user=root&password=tjwyNIC";

2.数据库建库要用GB2312建库,修改2个参数

CREATE DATABASE vote
CHARACTER SET 'gb2312'
COLLATE 'gb2312_chinese_ci';

3.建表要用GB2312建表

create table vote(
voteid int(11) NOT NULL auto_increment primary key,
votetitle varchar(50) NOT NULL default '',
voteflag tinyint(4) NOT NULL default '1',
UNIQUE KEY vid(voteid),
UNIQUE KEY title(votetitle)
)TYPE=MyISAM DEFAULT CHARSET=gb2312 DEFAULT COLLATE=gb2312_chinese_ci;

4.%Windows%/my.ini文件的配置

[mysqld]
default-character-set=gb2312
(特别注意要加入这句改变默认编码方式)
basedir=D:/mysql/mysql
#bind-address=211.68.222.6
datadir=D:/mysql/mysql/data
#language=D:/mysql/mysqlshare/your language directory
#slow query log#=
#tmpdir#=
port=3306
#set-variable=key_buffer=16M
[WinMySQLadmin]
Server=D:/mysql/mysql/bin/mysqld-nt.exe
user=zhao
password=jiang
QueryInterval=10

5.页面编码也要都是GB2312

page contentType="text/html; charset=gb2312"

6.表单等参数取得要改GB2312

String opname=new
String(request.getParameter("op"+i).getBytes("8859_1"),"gb2312");

搞定了

Reply all
Reply to author
Forward
0 new messages