中文字符串比MySQL字段长

时间:2015-07-21 08:58:12

标签: mysql chinese-locale

我正在使用MySQL和PHP开发一个Web应用程序。一些用户将是中文,因此我需要用汉字测试我的程序。由于中文字符比通常的ASCII字符长,所以MySQL字段可能比带有中文字符的字符串短。

我试图将输入中的lenth限制为比MySQL字段小两倍,如下例所示:

<input name='field_name' maxlength='5'> in HTML
field_name VARCHAR(10) in MySQL (all my field are encoded with utf8_unicode_ci)

然而,有5个字符的字符串&#39;好好好好'将会被截断。

这是一个重要的问题,因为截断的字符串以符号&#34;�&#34;结束。和jQuery ajax调用(json)拒绝错误。

这就是为什么我想知道如何在客户端和服务器端保护这些输入,以便在任何情况下都不会影响数据的完整性(或者至少即使它被截断也会显示)。

谢谢!

1 个答案:

答案 0 :(得分:1)

UTF 8使用一个字符作为英文字符, 但是UTF 8使用三个字符作为汉字