Varchar for UTF-8?

时间:2010-09-04 13:50:18

标签: mysql utf-8 collation varchar multilingual

我发现了类似的帖子,但仍不确定。

当我正在制作我的留言簿以及其他多语言时,我将整理更改为mysql中的uft8_unicode_ci,一切正常,我没想到的是我使用的类型,我的留言簿是多语言的对于名称字段,用户不能输入超过50个字符,相同的主题和800个字符的留言信息。

现在在PHP中进行此检查是直截了当的。在strlen等之前使用mb_检查字符串长度。

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

1 个答案:

答案 0 :(得分:4)

由于mySQL 4.1,VARCHAR计入字符而不是字节。

您可以安全地为需要包含255个字符的邮件字段指定VARCHAR(255)类型。