我从客户那里得到了一个带有错误元音的mysqldump。这是一个后备,我没有得到一个新的。
这里不是圣保罗,而是圣保罗。
要解决这个问题,我可以在记事本中搜索和替换吗?或者,我可以通过全局搜索和替换破坏tt_content或页面以外的其他表吗?
发布于 2016-09-29 10:34:23
我用不同的字符集配置通过导出和导入解决了这个问题。只需在本地开发服务器上导入现有的mysql转储,然后尝试导出/导入,如下所示。创建一个新的mysql转储并尝试以下设置:
mysqldump --default-character-set=latin1 --skip-set-charset --skip-extended-insert --skip-add-drop-table --no-create-info -u [USERNAME] -p [DBNAME] > [MYSQLDUMNAME].sql导入新创建的mysql转储,设置如下:
mysql --default-character-set=utf8 -u [USERNAME] -p [DBNAME] < [MYSQLDUMNAME].sql您需要进行一些测试,以找到正确的转换(latin1,utf8)。
如果mysql转储中混合了正确和不正确的字符,则可能会排除这些表,并将它们分别导入如下:
mysqldump --default-character-set=latin1 --skip-set-charset --skip-extended-insert --add-drop-table --ignore-table=[DBNAME].[TABLENAME] -u [USERNAME] -p [DBNAME] > [MYSQLDUMNAME].sql用值替换用户名、DBNAME、TABLENAME、MYSQLDUMNAME。
发布于 2016-09-29 07:52:34
这主要是由于用于转储备份的编码设置错误(例如,当数据库位于cp-1252中时,与utf-8中的服务器进行通信)。如果您可以获得用于创建它的设置,则可以使用相同的设置在本地计算机上正确导入它,并创建一个具有正确设置的新转储来修复它。
您可以尝试通过搜索替换来修复它,但是您可能会遗漏很多符号,除非它是非常小的转储,并且您可以在之后完全手工检查它。
发布于 2016-09-29 08:06:12
查看下面的TYPO3Wiki条目。下面介绍了如何将数据转换为utf8的一些方法:
https://stackoverflow.com/questions/39763817
复制相似问题