Php 将MySQL DB编码从Latin1_-swedish更改为UTF-8
我无法将数据从拉丁文1_瑞典语转换为UTF-8 该应用程序基于Symfony2,数据库为MySQL 我已经尝试过这个查询:Php 将MySQL DB编码从Latin1_-swedish更改为UTF-8,php,mysql,symfony,encoding,utf-8,Php,Mysql,Symfony,Encoding,Utf 8,我无法将数据从拉丁文1_瑞典语转换为UTF-8 该应用程序基于Symfony2,数据库为MySQL 我已经尝试过这个查询: ALTER TABLE <tablename> CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci 我想要一个能够处理所有表和列的解决方案,因为MySQL数据库有1000个表。如果我必须手动修改所有数据库,这将花费太长时间。如果要更改整个数据库,则应运行以下命令: ALTER DATABASE db_n
ALTER TABLE <tablename> CONVERT TO CHARACTER
SET utf8 COLLATE utf8_unicode_ci
我想要一个能够处理所有表和列的解决方案,因为MySQL数据库有1000个表。如果我必须手动修改所有数据库,这将花费太长时间。如果要更改整个数据库,则应运行以下命令:
ALTER DATABASE db_name DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
你试过这个吗
ALTER DATABASE databasename CHARACTER SET utf8 COLLATE utf8_unicode_ci;
ALTER TABLE tablename CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;
既然您提到了“奇怪的字符”,我怀疑“从拉丁文1改为utf8”不是真正的任务,而是修复插入过程中出现的一些混乱
大约有5起案件需要处理。我们还不知道你是哪一个案子。请提供
用于您试图更改的表SHOW CREATE TABLE
为具有非ascii文本的某些单元格选择列,十六进制(列).
ALTER TABLE <tablename> CONVERT TO CHARACTER SET utf8;
与上面的类似,但一次只能工作一列,并且需要在MODIFY子句中使用正确的内容。因此,这将是相当乏味的
ALTER DATABASE databasename DEFAULT CHARACTER SET utf8;
仅为在该数据库名中创建的任何新表设置默认字符集
。单词DEFAULT
是可选的
HEX('258;Ĺ')='C482C4B9'
——所以看起来您正在使用一些东欧语言,可能使用utf8,可能不使用。请提供进一步详情。在Ă
之前和之后发生了什么
“怪异角色”的修复程序可能在中,但需要详细信息直接指向您。不幸的是,它也不能解决问题。还有一些奇怪的字符,如“Ă”或“Ĺ”。
ALTER TABLE t MODIFY col1 CHAR(50) CHARACTER SET utf8;
ALTER DATABASE databasename DEFAULT CHARACTER SET utf8;