比 MySQL 字段长的一串汉字
String of Chinese characters longer that MySQL field
我正在使用 MySQL 和 PHP 开发网络应用程序。有些用户是中国人,所以我需要用汉字测试我的程序。由于中文字符比通常的 ASCII 字符长,因此 MySQL 字段可能比包含中文字符的字符串短。
我试图将输入中的长度限制为比 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) 拒绝错误。
这就是为什么我想知道如何在客户端和服务器端保护这些输入,以便数据的完整性在任何情况下都不会受到影响(或者至少即使被截断也不会显示)。
谢谢!
UTF 8 对英文字符使用一个字符,
但是 UTF 8 对汉字使用三个字符
我正在使用 MySQL 和 PHP 开发网络应用程序。有些用户是中国人,所以我需要用汉字测试我的程序。由于中文字符比通常的 ASCII 字符长,因此 MySQL 字段可能比包含中文字符的字符串短。
我试图将输入中的长度限制为比 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) 拒绝错误。
这就是为什么我想知道如何在客户端和服务器端保护这些输入,以便数据的完整性在任何情况下都不会受到影响(或者至少即使被截断也不会显示)。
谢谢!
UTF 8 对英文字符使用一个字符, 但是 UTF 8 对汉字使用三个字符