六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 43|回复: 0

mysql的中文问题

[复制链接]

升级  40%

4

主题

4

主题

4

主题

童生

Rank: 1

积分
20
 楼主| 发表于 2013-1-27 04:56:56 | 显示全部楼层 |阅读模式
在mysql根目录下搜索my.ini
 
# CLIENT SECTION
[mysql]
 
default-character-set=utf8
 
# SERVER SECTION
[mysqld]
 
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个设置好了,基本就不会出问题了
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表