一个中文3个字节?

数据库中是char(30) utf8的

model中array(‘truename’, ‘length’, ‘max’=>30),

controller中

$user->attributes = $_POST[‘User’];

if ($user->validate()) $user->save();

英文没问题的可以输入30个 而中文只能输入10个

yii v1.1.2

UTF8 编码 一个英文字符是1个字节 一个汉字是3个字节

GBK 编码 一个英文字符和一个汉字都是2个字节

你可以在rule里设置’encoding’=>‘UTF-8’。缺省是按字节数验证的。

这个是需要注意的地方。。。

这样不合理啊,mysql中的varchar(30),就是30个汉字,到了yii中自动生成的 max=>30,岂不是只有10个字,这样不就出错了