【问题标题】:Vtiger 7 import special characters UTF8 doesn't workVtiger 7 导入特殊字符 UTF8 不起作用
【发布时间】:2017-08-31 09:36:34
【问题描述】:

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

当然,这些特殊字符的导入不起作用。我得到: Valérie 而不是 Valérie Félix 而不是 Félix

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

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

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

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

那么如果csv文件是UTF8,table的字段是UTF8,如果输入的TYPE是UTF8,说明Vtiger代码有bug?

所以我在谷歌和论坛上搜索,没有答案。

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

谢谢

【问题讨论】:

    标签: csv utf-8 import vtiger vtigercrm


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      您必须在导入前将 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);
          }
      }
      

      【讨论】:

        猜你喜欢
        • 2017-11-03
        • 1970-01-01
        • 2015-09-10
        • 1970-01-01
        • 2013-11-11
        • 2018-08-11
        • 2016-08-02
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多