mysql 插入中文变成???的问题
2015-12-29 23:23
666 查看
如题: 一。 预防出现中文变?的问题,在创建数据库时注意以下各项:
1、检查并修改mysql的my.ini的配置文件
复制代码代码如下:
default-character-set=utf8
2、建立数据库是要指定字符集
复制代码代码如下:
create database mydb default character set utf8 collate utf8_general_ci;
3、建立数据表示也要指定字符集:
出问题的命令:
复制代码代码如下:
CREATE TABLE IF NOT EXISTS `mydb` (
`username` varchar(64) NOT NULL,
`userid` int(11) NOT NULL,
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
正确的命令:
复制代码代码如下:
CREATE TABLE IF NOT EXISTS `mydb` (
`username` varchar(64) NOT NULL,
`userid` int(11) NOT NULL,
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
二。 补救办法:
1. 将已经创建好的数据库和表改为utf8:
ALTER DATABASE `数据库` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci
ALTER TABLE `数据表` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci
2. 修改数据库连接:
jdbc:mysql://127.0.0.1:3306/ `数据库`?useUnicode=true&characterEncoding=utf-8
1、检查并修改mysql的my.ini的配置文件
复制代码代码如下:
default-character-set=utf8
2、建立数据库是要指定字符集
复制代码代码如下:
create database mydb default character set utf8 collate utf8_general_ci;
3、建立数据表示也要指定字符集:
出问题的命令:
复制代码代码如下:
CREATE TABLE IF NOT EXISTS `mydb` (
`username` varchar(64) NOT NULL,
`userid` int(11) NOT NULL,
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
正确的命令:
复制代码代码如下:
CREATE TABLE IF NOT EXISTS `mydb` (
`username` varchar(64) NOT NULL,
`userid` int(11) NOT NULL,
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
二。 补救办法:
1. 将已经创建好的数据库和表改为utf8:
ALTER DATABASE `数据库` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci
ALTER TABLE `数据表` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci
2. 修改数据库连接:
jdbc:mysql://127.0.0.1:3306/ `数据库`?useUnicode=true&characterEncoding=utf-8
相关文章推荐
- MySQL存储过程和函数以及游标使用详解
- MYSQL 数据库导入导出命令
- MySQL的慢查询日志
- MySQL函数之其他函数
- MySQL优化概述
- mysql 字符集
- mysql-事务
- mysql中的索引原理与表设计
- 利用一致性哈希水平拆分MySql单表
- check mysql slave状态并跳过相应错误(守护模式)
- mysql源码编译安装
- MySQL索引原理及慢查询优化
- MySQL 免安装配置
- mysql之控制行操作(一)
- pig mysql 写法比较
- mysql中的TIMESTAMP类型时间范围
- Mysql 查询
- mysql update join
- 利用Shell脚本将MySQL表中的数据转化为json格式
- Mysql 会导致锁表的语法