mysql的中文问题
在mysql根目录下搜索my.ini# CLIENT SECTION
default-character-set=utf8
# SERVER SECTION
default-character-set=utf8
然后重启mysql服务
在mysql控制台输入 show variables like '%character%'
显示如下:
+--------------------------+--------------------------+
| Variable_name | Value |
+--------------------------+--------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | C:\mysql\share\charsets\ |
+--------------------------+--------------------------+
新建表:
CREATE TABLE `test_article` (
`oid` bigint(20) NOT NULL auto_increment,
`title` varchar(50) default NULL,
`content` text,
`createdDate` datetime default NULL,
PRIMARY KEY (`oid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
就可以正确插入并显示中文了
例如将所有的编码都设置成utf8,jsp的contentType= "text/html;charset=utf-8 "
修改数据库默认编码ALTER DATABASE `test` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin
修改表的编码:ALTER TABLE `category` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin
修改表字段的编码ALTER TABLE `test` CHANGE `dd` `dd` VARCHAR( 45 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL
1。创建数据库的时候:CREATE DATABASE `database`
CHARACTER SET 'utf8 '
COLLATE 'utf8_general_ci ';
2.建表的时候 CREATE TABLE `database_user` (
`ID` varchar(40) NOT NULL default ' ',
`UserID` varchar(40) NOT NULL default ' ',
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
3.设置URL的时候 jdbc:mysql://localhost:3306/database?seUnicode=true&characterEncoding=UTF-8
这3个设置好了,基本就不会出问题了
页:
[1]