mysql-Varchar为UTF-8吗?

我发现了与此类似的帖子,但仍不确定.

当我制作留言簿等多语言时,我在mysql中将排序规则更改为uft8_unicode_ci,一切正常运行,我没有想到的是我使用的类型,我的留言簿为多语言,并且名称字段,用户不能输入超过50个字符,主题和留言簿消息不能超过50个字符.

现在在PHP中进行此检查很简单,即.在strlen等之前使用mb_检查字符串长度.

但是我担心数据可能在mysql中被截断.显然普通字符可以,但是当它是中文字符和其他非标准字符时,这显然对我来说是个问题,因为我不知道varchar如何计算它们.

解决方法:

从mySQL 4.1开始,VARCHAR以字符而不是字节为单位.

您可以安全地为需要保留255个字符的消息字段指定VARCHAR(255)类型.

上一篇:MySQL-对于所有世界语言,我必须使用utf8_general_ci或utf8_unicode_ci或其他任何排序规则?


下一篇:mysql-utf8_bin中字段上的SQL语句中的COLLATE比使用默认排序规则慢?