首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >由于TYPO3中没有"SET NAMES TYPO3;“而损坏了国际字符

由于TYPO3中没有"SET NAMES TYPO3;“而损坏了国际字符
EN

Stack Overflow用户
提问于 2013-10-13 18:41:02
回答 1查看 672关注 0票数 1

我在一个TYPO3波兰站点中遇到了一些字符编码的问题。配置中没有设置setDBinit=SET NAMES utf8;参数。一切正常(前端和后端),但是从数据库导出。当我通过PhpMyAdmin搜索数据库或尝试用数据导出数据库时,所有的国际字符都损坏了。

官方页面http://wiki.typo3.org/UTF-8_support#SET_NAMES_utf8.3B说:

如果没有设置名称utf8;您的TYPO3 UTF-8设置可能有效,但是在转换到UTF-8之后输入的数据库内容可能将每个国际字符存储为两个单独的、混淆的latin1字符。 如果您使用phpMyAdmin检查数据库,并发现新内容中的umlauts显示为两个混淆字符,情况就是这样。如果这种情况发生在您身上,您就不能再添加上述语句了。新内容的输出将中断。相反,您必须首先更正新添加的特殊字符。最简单的方法是删除内容,设置上面描述的选项,然后重新输入

还有其他方法来修复损坏的字符吗?现在有很多内容要编辑.我尝试了几乎每一个导出编码和转换到另一个编码的组合,等等,到目前为止我失败了。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-13 18:50:38

您可以尝试mysqldump从ISO-8859-1转换为utf-8:

代码语言:javascript
复制
mysqldump --user=username --password=password --default-character-set=latin1 --skip-set-charset dbname > dump.sql
chgrep latin1 utf8 dump.sql (or when you prefer  sed -i "" 's/latin1/utf8/g' dump.sql) 
mysql --user=username --password=password --execute="DROP DATABASE dbname; CREATE DATABASE dbname CHARACTER SET utf8 COLLATE utf8_general_ci;"
mysql --user=username --password=password --default-character-set=utf8 dbname < dump.sql
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19348834

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档