如何在不丢失数据MYSQL的情况下以正确的方式修复数据库中奇怪的字符?

时间:2018-04-05 12:48:36

标签: mysql pdo

我想出了我的数据库的奇怪情况。我的网站已经投入生产,并且有大量数据。我需要为客户端导出CSV文件并为其提供CSV文件。我正在使用我的数据库导出按钮将我的数据导出为CSV文件。

我的问题 导出CSV文件时,波兰字符是不可读的字符,如ą,ć,ó,ś。这些字符变为不可读的字符,如“?”。因此无法手动更改CSV文件中的大量数据。

错误 我错误地设置了我的字符集“latin1”和整理“latin1_swedish_ci”。

问题 是否有可能将这个不可读的字符恢复为可读格式而不会丢失这些数据?

我尝试使用谷歌搜索https://nicj.net/mysql-converting-an-incorrect-latin1-column-to-utf8/之类的东西,但没有运气。

任何解决方案? 提前谢谢。

1 个答案:

答案 0 :(得分:0)

  

读到Queston提问者想知道如何在PHPMyAdmin中将列更新为正确的字符集:

1)在PhpmyAdmin 选择您要更新的表格。
2)从顶部菜单中选择“操作” 3)在“表格选项”下,您要选择要使用的Collation
4)并勾选说明的方框

  

更改所有列排序规则

5)单击Go。

现在,您的所有表格数据都将重新变为完整的UTF-8。

注意
这意味着“varchar”中的每个“char”现在等于4个字符,因此它可以在MySQL 5.7之前cause some issues with using indexed column keys,因为索引限制为767个字节,UTF-8字符为{{1每个字节 - 这个255个字符的索引4列将是VARCHAR,因此超出了索引限制。

enter image description here