我有php脚本插入文章在MySQL数据库。 mysql中的字段类型是文本。
现在,当我插入大于32K的文章时,它仅被截断为32K。我知道的是在MySQL中的文本的最大大小是64K。
PS:MySQL版本是5.0.51a-24 + lenny5
PHP版本:PHP 5.3.2-1ubuntu4.9
的mysql:max_allowed_packet个= 16M在MySQL中的文本数据类型被截断在32k
的为什么mysql的截断它的任何想法或如何要解决这个问题??
**编辑**
我的字符集是通过选择这个领域我得到了65768的十六进制UTF8
,如你所知每两个十六进制数字代表一个字节,因此,这里的实际尺寸是2分之65768 = 32884个
mysql> select length(hex(body)), length(body) from articles where article_id=62727; +-------------------+--------------+ | length(hex(body)) | length(body) | +-------------------+--------------+ | 65768 | 32884 | +-------------------+--------------+
感谢您的帮助
UTF-8 **可能会为一个字符使用多个字节,但它也可能使用单个字节。这不像“UTF-8为任何**字符使用超过1个字节”。 – binaryLV 2011-05-10 06:37:57