【问题标题】:MySQL Table Convrted to utf-8MySQL 表转换为 utf-8
【发布时间】:2011-12-13 15:13:29
【问题描述】:

我有一张带有 latin1 字符集的旧表。使用 phpmyadmin,我将其转换为 utf-8 之后,当我用php读取数据时,我的数据显示为???? ???问号

我的页面字符集是 utf-8 我的 php 没有问题,我也试过了:

@mysqli_query("SET NAMES 'utf8'", $db);
@mysqli_query("SET CHARACTER SET 'utf8'", $db);
@mysqli_query("SET character_set_client = utf8 ",$db);
@mysqli_query("SET character_set_results = utf8 ",$db) ;
@mysqli_query("SET character_set_connection = utf8 ",$db);

在任何查询之前

似乎不起作用,仍然显示为 ???? ??????

新记录没问题,但旧记录不可读

它们存储在数据库中,例如:غلاÙ...ÛŒ

有没有办法找回那些旧数据?

【问题讨论】:

    标签: mysql utf-8 persian


    【解决方案1】:

    我以前做的是在命令行上走

    mysqldump --default-character-set=latin1 ... > file.sql

    然后将 file.sql 转换为 UTF(使用 ICONV 或任何其他选项),然后更改表的字符集并使用

    mysql --default-character-set=utf8 < file.sql

    您可以只使用 phpMyAdmin 中的导出选项并像上面的示例中那样转换,从 phpMyAdmin 更改表上的字符集,然后再次导入。

    我通常会在这样做之前进行备份,因为会发生错误,但它非常简单

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-21
      • 1970-01-01
      • 2014-12-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多