我很遗憾可能是一篇非常普通的帖子,需要澄清才能回答,但我希望那些知道比我更多的人会提供有关从哪里开始的建议。我有一个在一个主机上工作正常的程序......完全没有问题。我需要将它转移到另一个主机,现在,尽管我成功导出数据库并查看字段以查看它们是“中等文本”(它们是,应该允许文本页面),不知何故它会截断后面的任何条目前240个字符。如果我使用多字节字符,那么它会更快地截断。
有谁知道可能会发生什么?我怀疑php.ini或新主机上的mysql中的某些默认设置不允许完全发送帖子数据...或者mysql中的默认值忽略了“Mediumtext”值或其他内容。但我可能是错的,我不知道从哪里开始侦察这个。
CREATE TABLE `abc` (
`abc_id` int(11) NOT NULL AUTO_INCREMENT,
`abcemail` varchar(128) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`abcfn` varchar(128) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`sabcln` varchar(128) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`message` mediumtext NOT NULL,
'abcsml` mediumtext CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
UNIQUE KEY `abc_id` (`abc_id`)
) ENGINE=MyISAM AUTO_INCREMENT=20 DEFAULT CHARSET=utf8
CREATE TABLE `abc` (
`abc_id` int(11) NOT NULL AUTO_INCREMENT,
`abcemail` varchar(128) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`abcfn` varchar(128) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`abcln` varchar(128) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
`message` mediumtext NOT NULL,
`abcsml` mediumtext CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
UNIQUE KEY `abc_id` (`abc_id`)
) ENGINE=MyISAM AUTO_INCREMENT=19 DEFAULT CHARSET=utf8
注意到上述情况,两者似乎都缺少“CHARACTER SET utf8”。它需要是utf8 ......这很重要吗?
Variable_name -- Value
character_set_client -- utf8
character_set_connection -- utf8
character_set_database -- utf8
character_set_filesystem -- binary
character_set_results -- utf8
character_set_server -- latin1
character_set_system -- utf8
character_sets_dir -- /usr/share/mysql/charsets/
感谢您的帮助!