0

你好这里的难题,

我正在尝试导入带有西里尔字符的 csv 文件,例如(俄罗斯城市,它们可能超过 40.000) - 这显示在记事本 ++ 编辑器中,编码设置为 UTF-8 而没有 bom -:

RU,101000,Москва,Москва,,,,,,55.7522,37.6156,4
RU,101194,Москва 194,Москва,,,,,,55.7522,37.6156,1
RU,101300,Москва 300,Москва,,,,,,55.7522,37.6156,1

然后我使用 phpmyadmin 中的导入选项卡将其导入。当我浏览导入的数据时。我有以下字符:

RU  101000  МоÑква     МоÑква
RU  101194  МоÑква 194     МоÑква
RU  101300  МоÑква 300     МоÑква

我已经将数据库设置为 utf8_general_ci,我尝试了 utf8_unicode_ci 和 utf8_lithuanian_ci... 我不知道如何在 phpmyadmin 面板中强制显示 utf8。是否有解决方案可以通过 SQL 输入导入数据槽?

提前致谢!!

4

1 回答 1

0

看起来问题与 phpMyAdmin 用于连接 MySQL 服务器的连接管道有关。

根据此解决方案,phpMyAdmin 用于cpg_db_connect()连接到您的数据库服务器,并且需要对其进行更新以包含SET NAMES 'utf8'。他们给出了以下示例:

function cpg_db_connect()
{
        global $CONFIG;
        $result = @mysql_connect($CONFIG['dbserver'], $CONFIG['dbuser'], $CONFIG['dbpass']);
        if (!$result) {
                return false;
        }
        if (!mysql_select_db($CONFIG['dbname']))
                return false;
        mysql_query("SET NAMES 'utf8'", $result); # <-- see here
        return $result;
}

如果您无法编辑您的 phpMyAdmin 安装(假设您在共享服务器上),只需在您自己的站点上的虚拟/子目录中安装 phpMyAdmin,然后找到并编辑此功能。phpMyAdmin 只是一个和其他任何网站一样的 php 网站。

更纯粹的方法(特别是如果您有字符问题)是使用 mysql(例如mysql -u dbuser -p dbname < import.sql)通过 ssh 导入数据。

于 2012-08-04T15:00:36.763 回答