mysql存储汉字
‘壹’ Mysql储存中文因该用什么数据格式
中文存储应该用UTF8或者GBK,但是国际通用UTF-8存储中文,别的形式很容易出现乱码现象。在设计表时就应该选择编码。
‘贰’ mysql中要存储汉字要将数据类型定义为什么
设置为gbk即可.可以写一个my.ini来自动设置:
在Windows的系统安装目录下 (如:C:\WINDOWS\my.ini) 新建一个“my.ini”文件,注意后缀名是“ini”。内容如下:
[WinMySQLAdmin]
Server=c:/apps/mysql/bin/mysqld-nt.exe
[mysqld]
basedir=c:/apps/mysql
datadir=c:/dev/mysql data/data
default-character-set=gbk
[client]
default-character-set=gbk
上面“Server”指向MySQL的执行主程序,“basedir”指向MySQL的安装目录,“datadir”指向MySQL的数据存放目录(因为我改变了它,所以需要特别指定),设置”default-charseter-set=gbk”是为了支持默认为中文。然后把“c:\apps\mysql\bin”追加到“环境变量”的“path”变量中 。
‘叁’ mysql 数据库varchar可以存储多少个汉字和多少个数字
首先要确定mysql版本,一般一个汉字2个字节,50即可存25个汉字。
4.0版本以下,varchar(100),指的是100字节,如果存放UTF8汉字时,只能存33个(每个汉字3字节)
5.0版本以上,varchar(100),指的是100字符,无论存放的是数字、字母还是UTF8汉字(每个汉字3字节),都可以存放100个。
varchar特点
1、使用比固定长度类型(char)占用更少存储空间(除了使用ROW_FORMAT=FIXED创建的MyISAM表)。
2、使用额外的1-2字节来存储值长度,列长度<=255使用1字节保存,其它情况使用2字节保存。例如varchar(10)会占用11字节存储空间,varchar(500)会占用502字节存储空间。
3、节约空间,所以性能会有帮助。在更新的时候会产生额外的工作。
以上内容参考:网络-varchar
‘肆’ MySQL 中如何存中文
MySQL 中何存中文方法如下:
1、create table的时候加上:ENGINE=InnoDB DEFAULT CHARSET=gbk;
例如:
CREATE TABLE t_department (
sid varchar(32) NOT NULL,
pid varchar(32) NOT NULL,
thedata varchar(50) NOT NULL
ENGINE=InnoDB DEFAULT CHARSET=gbk;
2、打开MySQL目录下的my.ini文件,把里面所有的default-character-set选项设为GBK或者GB2312,保存后重启MySQL。