Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将MySQL DB编码从Latin1_-swedish更改为UTF-8_Php_Mysql_Symfony_Encoding_Utf 8 - Fatal编程技术网

Php 将MySQL DB编码从Latin1_-swedish更改为UTF-8

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

我无法将数据从拉丁文1_瑞典语转换为UTF-8

该应用程序基于Symfony2,数据库为MySQL

我已经尝试过这个查询:

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;