在我的.html文档中,我的表单是
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
在.php文件中,我连接到我尝试使用
的数据库mysql_set_charset('utf8');
// and
// <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
和此:
header('Content-Type: text/html; charset=utf-8');
数据库行使用排序规则:utf8_unicode_ci
答案 0 :(得分:0)
你希望有Избере
之类的东西?你有Mojibake。可能这就是发生的事情:
SET NAMES latin1
(或set_charset('latin1')
或...)相关联。 (应该是utf8
。)CHARACTER SET utf8
,也可能不是ALTER TABLE Tbl MODIFY COLUMN col VARBINARY(...) ...;
ALTER TABLE Tbl MODIFY COLUMN col VARCHAR(...) ... CHARACTER SET utf8 ...;
,但应该是这样。如果您需要修复数据,则需要“两步更改”,例如
NOT NULL
其中长度足够大而另一个“......”还有其他任何内容(MODIFY
等)已经在列上。
不幸的是,如果您要使用很多列,则需要很多ALTER。对于VARBINARY
对中的单个表,您可以({should} ALTERs
std::initializer_list<int>
所有必要的列。