【发布时间】:2014-06-02 01:00:09
【问题描述】:
表:
CREATE TABLE `test` (
`f` varchar(255) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
连接后我发送以下 SQL:
SET NAMES utf8;
然后是 SQL:
INSERT INTO `test` (`f`) VALUES ("с????с-е в терновнике");
结果在表中我有 1 条记录,其值为“с”,最高 ????标志。 是否有机会正确处理所有此类符号? 如果这很重要,所有这些都由 PHP 完成。
【问题讨论】:
-
select length(f) from test说什么?如果是1,那么您的文本确实被截断了。如果它更大,那么你的字符串真的在那里,你在检索它时做错了。 -
select f, length(f) from test 给出 length(f) = 2. 2 似乎等于 1 char 1 utf8 是多字节