2015-07-21 71 views
0

我正在开发一个使用MySQL和PHP的Web应用程序。有些用户将会是中国人,所以我需要用中文字符来测试我的程序。由于中文字符比通常的ASCII字符长,所以发生MySQL字段可能比中文字符串短。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个字符将被截断。

这是一个重要的问题,因为截断字符串以符号“ ”结尾,jQuery ajax调用(json)拒绝错误。

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

谢谢!

+0

'SUBSTR()'FIELD_NAME时响应Ajax调用。 (更好地改变mysql中的fileld_name,varchar 10太小) – jsxqf

+0

感谢您的回答,但它不起作用..无论如何,正如你所说,我会增加我的数据库字段的大小 – Pierre

回答

1

为英文字符, 但UTF-8使用了三个字符的UTF-8使用一个字符为中国文字

+0

非常感谢您的答案。所以如果我明白你的观点,适当的情况是确保数据库字段比相关输入的最大长度大3倍。谢谢! – Pierre