StatusNet无法使用中文TAG标签问题解决
08/25/2012
在StatusNet中输入中文标签时会显示一个提示:“Invalid tag:””.”,而当建立一个英文标签,然后再去修改为中文标签则是正常的。
Kaijia研究了一下代码,发现问题出在common_valid_profile_tag函数中,原函数中正则仅检测了英文字母和数字,未检测汉字,Kaijia的临时解决方案是修改lib/util.php中的common_valid_profile_tag函数为:
1 2 3 4 5 |
function common_valid_profile_tag($str) { $str = iconv('utf-8', 'gbk', $str); return preg_match('/^['.chr(0xa1).'-'.chr(0xff).'A-Za-z0-9_\-\.]{1,64}$/', $str); } |
这是一个临时方案,只支持中文,不支持其他东亚语言,目前Kaijia已经将这个Bug回报了StatusNet,可以在此页查看之后开发者提供的方案。
评论