请告诉我“专辑名称”的最大数量。
现在我正在用Graph API开发照片上传应用程序。创建相册时,如果日语字符数超过21,则相册名称会损坏。下面是这个问题的示例。
例如:
输入:
あいうえおかきくけこあいうえおかきくけこあい
已注册相册名称:
あいうえおかきくけこあいうえおかきくけこあ��
请注意,如果将超过21个朝鲜语或中文字符设置为专辑名称,也会出现同样的问题。
发布于 2011-09-23 22:10:58
看起来这个字段有长度限制。猜测他们使用的是UTF-8,这将是64字节的限制,而不是整数个字符。
Facebook似乎正在截断该字节数的字符串,而不管该字节数限制是否恰好与字符边界对齐。不幸的是,这种错误行为在不将文本字符串本机处理为Unicode字符的语言中很常见。在本例中,最后一个い占用了三个字节,但只有两个字节的空间,因此留下了两个尾部字节,这两个字节不能形成有效的UTF8序列,因此是��。
为了阻止这种情况的发生,你必须为他们做他们的工作,并以一种Unicode干净的方式施加长度限制。要做到这一点,一种方法是自己编码为UTF-8,执行截断,然后转换回字符,忽略无效的结束字节。例如在Python中:
>>> print u'あいうえおかきくけこあいうえおかきくけこあい'.encode('utf-8')[:64].decode('utf-8', 'ignore')
あいうえおかきくけこあいうえおかきくけこあhttps://stackoverflow.com/questions/7512379
复制相似问题