首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >导入csv文件西里尔文字符到Mysql - PHPMyadmin

问导入csv文件西里尔文字符到Mysql - PHPMyadmin
EN

Stack Overflow用户
提问于 2012-08-04 22:41:07
回答 1查看 2.1K关注 0票数 0

你好,这个问题很难回答,

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

代码语言:javascript
复制
RU,101000,Москва,Москва,,,,,,55.7522,37.6156,4
RU,101194,Москва 194,Москва,,,,,,55.7522,37.6156,1
RU,101300,Москва 300,Москва,,,,,,55.7522,37.6156,1

然后我使用phpmyadmin中的import选项卡导入它。一次当我浏览导入的数据时。我有以下特点:

代码语言:javascript
复制
RU  101000  МоÑква     МоÑква
RU  101194  МоÑква 194     МоÑква
RU  101300  МоÑква 300     МоÑква

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

提前感谢!!

EN

回答 1

Stack Overflow用户

发布于 2012-08-04 23:00:37

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

根据this solution的说法,phpMyAdmin使用cpg_db_connect()连接到您的数据库服务器,它需要更新以包含SET NAMES 'utf8'。他们给出了下面的例子:

代码语言:javascript
复制
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导入数据。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11809449

复制
相关文章

相似问题

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