mysql支持怎么弄,MySQL使用

如何让MySQL支持CJK编码

如何让MySQL支持CJK编码

专注于为中小企业提供成都做网站、网站设计服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业北川羌族免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上千企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

背景知识:

CJK:中日韩统一表意文字(CJK Unified Ideographs)(CJK不是苍井空老湿名字的缩写而是中日韩的缩写:China、Japan、Korea),目的是要把分别来自中文、日文、韩文、越文中,本质、意义相同、形状一样或稍异的表意文字(主要为汉字,但也有仿汉字如日本国字、韩国独有汉字、越南的喃字)于ISO 10646及Unicode标准内赋予相同编码。

一些比较复杂的异性字,比如:古书中出现的一些生僻字等就包括在这个字符集中。

正在做的一个项目是关于历史古籍的,数据中大量出现这种字,所以研究了一下如何让MySQL支持这种CJK,经验记录如下:

1 MySQL从5.5.3开始支持utf8mb4编码,这种编码用4个字节表示一个字,所以容量更大,MySQL5.5.3之前的版本就甭尝试了,不是乱码就是问号(MySQL的官方说明如下:)。(通过编译方式升级MySQL的方法,目前也只能自己编译MySQL,因为yum软件库中最新的MySQL仍是5.1.x)

2 建表时为字段指定字符集:

`title` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_bin DEFAULT NULL,

上面就是一个例子:一个长度为100的varchar的title字段,字符集是utf8mb4。

3 程序(PHP等)在建立链接时需要指定字符集

mysql_query("SET NAMES 'utf8mb4'", $connect);

怎么让mysql支持中文

将my.ini文件中的默认字符集改为gb2312即可

具体的办法是修改其中的[mysqld] 里添加一行: default-character-set=gb2312

然后重启服务,不过只对修改后的数据有效,对修改前已经在数据库中的数据是没有效果的.

如果是临时更改的话,在命令行输入下面信息即可:

SET character_set_client = gb2312;

SET character_set_connection = gb2312;

SET character_set_database = gb2312;

SET character_set_results = gb2312;

SET character_set_server = gb2312;

LINUX下的MYSQL怎么开启INNODB数据支持?

默认情况下,版本从4.*至5.*(最新是5.7)都是支持INNODB数据引擎的,不需要特别的开启。特别是在5.5版本以后,默认就是InnoDB。MyISAM可能会慢慢地更少地使用。

要特别设置InnoDB为默认引擎,需要在 /etc/my.cnf 文件中的 [mysqld] 下面加入default-storage-engine=INNODB 一句,保存。重启MySQL,就可以看到引擎的相关信息,例如我的显示如下:

mysql show engines;

+--------------------+---------+

| Engine | Support |

+--------------------+---------+

| PERFORMANCE_SCHEMA | YES |

| MRG_MYISAM | YES |

| CSV | YES |

| BLACKHOLE | YES |

| MyISAM | YES |

| InnoDB | DEFAULT |

| ARCHIVE | YES |

| MEMORY | YES |

| FEDERATED | NO |

+--------------------+---------+

其中InnoDB为 DEFAULT 即为默认引擎。

如果要修改表引擎为 innodb,可以用以下命令:

mysql alter table 表名 engine = innodb;


文章标题:mysql支持怎么弄,MySQL使用
URL分享:http://abwzjs.com/article/phgoso.html