对于可能需要澄清的非常常见的帖子,我感到抱歉,但是我希望那些知道比我更了解此事的人能够提供关于从哪里开始的建议。我有一个在一个主机上正常工作的程序......根本没有问题。我需要将它转移到另一台主机,现在,尽管我已成功导出数据库并查看字段以查看它们是“中级文本”(它们应允许页面文本),但不知何故,它会截断所有条目前240个字符。如果我使用多字节字符,那么它会更快地截断。
有谁知道可能会发生什么?我怀疑php.ini或新主机上的一些默认设置不允许发布数据完全发送......或者MySQL中的默认值忽略了“中文”值或其他内容。但是我可能是错的,我不知道该从哪里开始探索。
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/感谢您的帮助!