数据库和应用程序使用UTF-8字符集,
表中有一个类型为char(2)的字段,
model中,验证规则为:
表单view中条目如下:
而当我仅输入一个汉字时,就得到input errors:
可能把这个汉字按3个char算了,请问如何解决这个问题?
我在MySql中的字段定义就是Char(2)数据库是UTF-8字符集的。这个字段一直存储的也是两个汉字。
没人遇到过这问题吗?
数据库中char(2)是定义了2个字符,即使是两个汉字也算是2个字符,char(2)并非指存储2个字节的数据。而php中的验证,你因该改成’max’=>6php在计算字节长度(而非字符)。
你验证一下,我依稀是这样记得。
加上了,并重启了电脑,问题依然如故。
再设置一句(在我的php.ini中,这句之前是注释掉的):
这回我的汉字都是按照汉字的字符个数来计数了:
感谢大家给我指明了解决问题的方向。