Vtiger 7导入特殊字符UTF8不起作用

时间:2017-08-31 09:36:35

标签: csv utf-8 import vtiger vtigercrm

我刚刚安装了Vtiger 7.我导入了法国潜在客户的csv文件。法语有特殊字符éèû...

当然,导入这些特殊字符不起作用。我明白了: Valérie而不是Valérie Féix而不是Félix

所以我用记事本打开我的csv文件,检查特殊字符是否正确,我保存为UTF8编码。

我再次导入并得到同样的问题。

我仔细检查输入的类型UTF8:

所以我去过vtiger_leaddetails表并在utf8_general中更改类型它没有用。我尝试使用utf_unicode,它不起作用: - (

因此,如果csv文件是UTF8,表的字段是UTF8,如果输入的类型是UTF8,这意味着Vtiger代码在某处错误?

所以我在谷歌和论坛上搜索过,而且我的问题没有答案。

有没有人可以帮我解决这个问题?

由于

2 个答案:

答案 0 :(得分:0)

您是否尝试在导入窗口中选择ISO-8859-1?

答案 1 :(得分:0)

在导入之前,您必须将MySQL数据库和表格字符集和排序规则转换为UTF-8。

使用ALTER DATABASEALTER TABLE命令。

使用以下代码更改排序规则

<?php
include_once 'includes/Loader.php';
include_once 'vtlib/Vtiger/Module.php';
include_once 'includes/runtime/EntryPoint.php';
$adb = PearDatabase::getInstance();
$sql = "ALTER DATABASE " . $dbconfig['db_name'] . " CHARACTER SET utf8 COLLATE utf8_general_ci;";
$result = $adb->query($sql);
$sql = "SHOW TABLES;";
$result = $adb->query($sql);
if ($adb->num_rows($result) > 0) {
    while ($row = $adb->fetch_array($result)) {
        $sql = "ALTER TABLE " . $row[0] . " CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci";
        $result = $adb->query($sql);
    }
}