将latin1转换为UTF8

WEB*_*ect 6 php mysql

我有一个数据库 - 与表格文章.

我想现在将标题和内容字段转换为utf8 - 所有数据都是这样的:פורטל רעל נפתח רשמית! 我希望它成为普通的希伯来字符.

谢谢

taw*_*kov 8

如果需要转换整个数据库,可以将其作为databaseback.sql文件备份,然后形成命令行 iconv -f latain -t utf-8 < databaseback.sql > databaseback.utf8.sql

您可以使用http://www.php.net/manual/en/function.iconv.php
转换php中的每一行,以防您没有命令行访问权限

最后不要忘记转换phpmyadmin中每个字段的排序规则,然后你就可以轻松地重新调整utf8了

更新

如果你有iconv is not recognized,这意味着你没有iconv安装

更简单的解决方案是:将 MySQL数据迁移到Unicode

http://daveyshafik.com/archives/166-migrating-mysql-data-to-unicode.html


小智 7

以下MySQL函数将在双重编码后返回正确的utf8字符串:

CONVERT(CAST(CONVERT(field USING latin1) AS BINARY) USING utf8)
Run Code Online (Sandbox Code Playgroud)

它可以与UPDATE语句一起使用来更正字段:

UPDATE tablename SET field = CONVERT(CAST(CONVERT(field USING latin1) AS BINARY) USING utf8);
Run Code Online (Sandbox Code Playgroud)


Vla*_*sny 5

您可以从此数据库中创建mysqldump.然后下载像Notepad ++,open dump file,将其转换为UTF8,然后通过文件将所有编码替换为utf-8,包括第一个SET NAMES运算符.

如果通过phpMyAdmin(使用默认设置)转储到文件,则使用输出文件编码ISO-8859-1而不是UTF-8,如默认情况下所示.