【问题标题】:Unable to import csv file in mysql workbench无法在 mysql 工作台中导入 csv 文件
【发布时间】:2021-12-09 19:04:10
【问题描述】:

I got this error how to resolve this?

错误 未处理的异常:“charmap”无法解码位置 2890 中的字节 0x9d。char 映射到未定义

我做了所有必要的步骤来在 mysql 工作台中导入 csv 文件,但在选择 utf 8 编码时出现上述错误

这是日志文件内容

# Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights 
reserved.
#
# This program is free software; you can redistribute it and/or 
modify
# it under the terms of the GNU General Public License, version 2.0,
# as published by the Free Software Foundation.
#
# This program is also distributed with certain software (including
# but not limited to OpenSSL) that is licensed under separate terms, as
# designated in a particular file or component or in included license
# documentation.  The authors of MySQL hereby grant you an additional
# permission to link the program and your derivative works with the
# separately licensed software that they have included with MySQL.
# This program is distributed in the hope that it will be useful,  but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See
# the GNU General Public License, version 2.0, for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA

import grt
import os
import traceback

def log_error(msg):    
    tb = traceback.extract_stack(limit=2)
    grt.log_error("%s:%s:%s"%(os.path.basename(tb[-2][0]),tb[-2][2],tb[-2][1]), msg)

def log_warning(msg):
    tb = traceback.extract_stack(limit=2)
    grt.log_warning("%s:%s:%s"%(os.path.basename(tb[-2][0]),tb[-2][2],tb[-2][1]), msg)

def log_info(msg):
    tb = traceback.extract_stack(limit=2)
    grt.log_info("%s:%s:%s"%(os.path.basename(tb[-2][0]),tb[-2][2],tb[-2][1]), msg)

def log_debug(msg):
    tb = traceback.extract_stack(limit=2)
    grt.log_debug("%s:%s:%s"%(os.path.basename(tb[-2][0]),tb[-2][2],tb[-2][1]), msg)

def log_debug2(msg):
    tb = traceback.extract_stack(limit=2)
    grt.log_debug2("%s:%s:%s"%(os.path.basename(tb[-2][0]),tb[-2][2],tb[-2][1]), msg)

def log_debug3(msg):
    tb = traceback.extract_stack(limit=2)
    grt.log_debug3("%s:%s:%s"%(os.path.basename(tb[-2][0]),tb[-2][2],tb[-2][1]), msg)

【问题讨论】:

  • 我做了这件事...excel文件->另存为->csvfile->工具->web选项->编码utf 8然后点击ok...文件用utf 8编码编码但错误仍然存​​在
  • 您的 csv 文件中可能有垃圾。您可能需要在导入之前删除垃圾。 stackoverflow.com/questions/45749093/…
  • 如何删除垃圾......但事情是所有文件都出现相同的错误......完全相同的错误出现......然后我猜文件没有任何东西而不是工作台本身..我看到了工作台的异常文件,其中只处理了一个异常 classnotfound 异常,所有其他异常都没有处理。我认为问题就在这里......
  • 错误消息要求您“检查日志以获取模式详细信息”。你检查了吗?你看见什么了?请在问题中添加这些详细信息。如果您不知道在哪里可以找到日志文件,这篇文章可能会对您有所帮助:dev.mysql.com/doc/workbench/en/wb-configuring-files.html
  • 我已包含日志文件,请查看并告诉现在该怎么做?

标签: mysql csv file import


【解决方案1】:

我遇到了类似的问题并找到了解决方案,也许这会有所帮助。在记事本上打开 csv 文件,可以看到 ASCII 使用了什么。我的是 UTF8 BOM,只需将其更改为 UTF8 即可解决问题(如果您不知道如何,只需创建一个新的文本文件并将文本粘贴进去,它的工作原理是一样的,只要您不使用奇怪的德语字符应该没问题)。这实际上是一个相当老的问题,已经存在 2 年多了,Oracle 显然并不关心它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-07-10
    • 2015-02-24
    • 2013-04-10
    • 1970-01-01
    • 1970-01-01
    • 2015-06-22
    • 2014-04-28
    • 2012-12-28
    相关资源
    最近更新 更多