如何将window-1251(俄语西里尔文)MySql数据库转换为UTF-8

如何将window-1251(俄语西里尔文)MySql数据库转换为UTF-8,mysql,utf-8,character-encoding,Mysql,Utf 8,Character Encoding,我有一个俄罗斯网站的数据库,它是用windows-1251编码的。换言之,来自phpmyadmin的字母看起来是这样的:。另一个词是难以辨认的字符。为了正确显示内容,必须在php中添加此代码 header("Content-Type: text/html; charset=windows-1251"); 我想迁移这个网站的开源软件,如joomla或wordpress没有打嗝 因此,为了做到这一点,我需要将这些有趣的字符转换为utf-8,即使在phpmyadmin中也是如此: Выходящая

我有一个俄罗斯网站的数据库,它是用windows-1251编码的。换言之,来自phpmyadmin的字母看起来是这样的:
。另一个词是难以辨认的字符。为了正确显示内容,必须在php中添加此代码

header("Content-Type: text/html; charset=windows-1251");
我想迁移这个网站的开源软件,如joomla或wordpress没有打嗝

因此,为了做到这一点,我需要将这些有趣的字符转换为utf-8,即使在phpmyadmin中也是如此:

Выходящая в Лондоне газета на арабском языке «Аль-Хайят» сообщила,

任何帮助都将非常感谢。

转储
.sql
并使用
iconv
(linux程序)

iconv-f utf-8-t拉丁语out.sql
我在今年早些时候做的


如果您不知道如何获取iconv,并且sql中没有存储任何敏感信息,我可以为您执行此操作并将其发送回您。

@shalom aleichem~~~~~!!!!!!!!!!你好,meder,信息没有那么敏感,但是sql转储文件的大小是180mg。我要试试你的建议。我唯一的问题是,原始数据库存储在一个付费托管帐户上,我没有访问shell命令的权限。我有一台linux服务器用于测试。那么,一旦我通过phpmyadmin从付费托管帐户导出sql转储文件,我需要如何处理它呢?我收到一个错误“iconv:位置6721处的非法输入序列”哦,我忘了。。您需要对遇到的奇怪字符进行替换,将其替换为大写锁定版本,如“THISISACURLYQUOTE”,并替换整个文档,然后在运行iconv后,将“THISISACURLYQUOTE”替换为它,因为它将是UTF8。对你遇到的每个角色都这样做。我不知道如何用大写锁定版本替换奇怪的角色。顺便问一下,你怎么知道有人何时添加了评论。我每隔几分钟刷新一次页面。stackoverflow中是否有我遗漏的通知设置?您知道如何将文本文件中的“foo”替换为“bar”吗?几乎是同一个概念。
iconv -f utf-8 -t latin1 < in.sql | iconv -f cp1251 -t utf-8 > out.sql