在 mysql 中导出和导入 utf8 数据:最佳实践

2024-04-04

我们经常需要将数据文件发送给我们的一位客户,其中包含他/她需要翻译的数据库中的数据。大多数情况下,此导出为 CSV 或 XLS。 大多数时候,我们使用 phpmyadmin 创建 csv 转储,并获得包含翻译数据的 xls 文件。问题是,大多数时候数据是UTF8,当文件以xls形式返回时,每次我们再次将数据加载到mysql中时,我们都会遇到utf8问题,字符无法正确显示等......

我们已经仔细检查了 mysql 中从 my.cnf 到列字符集的所有内容,并且所有内容均已正确设置为 UTF8。

我的问题是not如何解决编码问题,因为这个问题已经解决了,但是我们将来如何最好地处理这种情况?我们应该提交什么导出格式?我们应该如何导入(只需mysql加载数据infile或我们自己的处理脚本)。对于如何处理这种情况,普遍的共识是什么?

如果可能的话,我们希望继续使用 Excel,因为这是几乎每个人(包括我们客户的翻译机构)都期望的格式。我们客户的易用性是这里最重要的因素,而不是每次都让我们因重大问题而超负荷。两全其美的 :)


我目前正在开发的应用程序还包括数据导入的功能。数据大部分采用utf-8编码。

我的方法是将导入的 CSV(或制表符分隔)(以任何编码)文件预处理为客户端脚本(Python)中正确的 utf-8 编码的临时 CSV 文件,并使用加载文件的内容加载数据文件 http://dev.mysql.com/doc/refman/5.1/en/load-data.html陈述。

文件的编码由控制字符集数据库 http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html#sysvar_character_set_database系统变量(该变量应在服务器级别设置)并且从 MySQL 5.1.17 开始可以被覆盖字符集LOAD DATA INFILE 子句。

唯一应该知道的是 MySQL 为每个字符存储最多 3 个字节,而不是 4 个(这对于东方语言来说可能是一个问题)。

要有效导出大量数据,您可以使用选择...进入概要文件陈述。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 mysql 中导出和导入 utf8 数据:最佳实践 的相关文章

  • 查询中的存储过程

    有一个程序获取文件列表 顾名思义 返回一个文件列表以及更多选项 那么是否可以在查询选择中使用此过程 像这样的东西 select Field1 from Image where Field2 IN call GetFileList 你应该把它
  • PDO 库比本机 MySQL 函数更快吗?

    我已经阅读了几个与此相关的问题 但我担心它们可能已经过时 因为自这些问题得到解答以来 更新版本的 PDO 库已经发布 我编写了一个 MySQL 类 它构建查询并转义参数 然后根据查询返回结果 目前这个类正在使用内置的mysql函数 我很清楚
  • SQL:将现有列设置为 MySQL 中的主键

    我有一个包含 3 列的数据库 id name somethingelse 该表没有设置索引 我收到 未定义索引 在 phpmyadmin 中id 是一个 7 位字母数字值 每行都是唯一的 我想将 Drugid 设置为主键 索引 我不知道有没
  • 我可以让 MySQL 数据库在插入语句后自动为列分配值吗?

    给定一个具有 ID pk 和 name 列的员工表 ID name 1 John 2 James 3 Tom Can I do INSERT INTO employee name VALUES Jack 并以某种方式让数据库自动分配下一个可
  • 使用子查询与 LEFT JOIN 一起选择 MAX 值

    我有一个获取搜索结果的查询 效果很好 查询成功示例 SELECT individuals individual id individuals unique id TIMESTAMPDIFF YEAR individuals day of b
  • MySQL 连接不工作:2002 没有这样的文件或目录

    我正在尝试设置 WordPress 我已经运行了 Apache 和 MySQL 并且帐户和数据库都已设置 我尝试建立一个简单的连接 我总是得到这个 错误 2002 没有这样的文件或 目录 它正在谈论什么文件或目录 我使用的是 OS X Sn
  • 用于添加和删除客户名称的 Web 表单出现问题

    我正在尝试创建一个 Web 表单 其中列出了所有客户 然后为您提供一个文本字段 旁边有一个按钮 您可以在其中添加客户 然后它应该显示客户列表 旁边有删除按钮 您可以单击该按钮从数据库中删除客户 我正在让它发挥作用 对于初学者来说 它会回显
  • MySQL INSERT 无需指定每个非默认字段(#1067 - “表”的默认值无效)

    我已经见过好几次了 我有一台服务器允许我插入一些值 而无需指定其他值 如下所示 INSERT INTO table SET value a a value b b value c 是一个没有设置默认值的字段 但在这里工作正常 当脚本移动到新
  • 向 yahoo 和 hotmail 用户发送电子邮件?

    我正在使用 php 和 mysql 每次用户在我的网站上注册时 我都会使用 php mail 发送一封电子邮件进行身份验证 最近我发现 很多Yahoo和Hotmail用户还没有激活他们的帐户 假设 1000 个用户中 只有 200 个被激活
  • MySQL 查询获取每小时计数

    我需要统计每小时发生的操作次数 我的数据库按操作的时间戳保存日志 我明白我可以做一个 SELECT table time COUNT table time from table t group by t time 然而 也有一段时间没有采取
  • 测验程序的 MySql 数据库设计

    我目前正在开发一个项目 主要是创建一个测验应用程序 它将能够进行包含 10 到 20 个问题的多项选择题或简答题的测验 它需要能够根据正确答案检查用户的答案 然后对用户的答案进行评分 稍后 我可能会实现一个后端功能来在线创建测验 但现在我将
  • MySQL:记录之间的平均间隔

    假设这张表 id date 1 2010 12 12 2 2010 12 13 3 2010 12 18 4 2010 12 22 5 2010 12 23 如何仅使用 MySQL 查询找到这些日期之间的平均间隔 例如 此表上的计算将是 2
  • 可以有多个用户作为 MySQL 存储过程的定义者吗?

    我在 MySQL 存储过程方面遇到了一些困难 并且感到有点沮丧 我有一组由 Bob 创建的 SP 由于他是定义者 只有他才能看到它们的 CREATE 语句 修改它们等 Mary 可以在 MySQL Workbench 的架构中看到 Bob
  • django - 设置中带有数据库 url 的 MySQL 严格模式

    我在设置中使用数据库 URL 字符串 例如 DATABASES default mysql root localhost 3306 mydb 当我迁移时 我收到此警告 MySQL Strict Mode is not set for dat
  • 错误代码:1822(当数据类型匹配且具有复合键时)

    得到一个 错误代码 1822 添加外键约束失败 丢失的 引用表中约束 subject ibfk 1 的索引 注册 当尝试创建subject桌子 问题是 错误并没有出现在上一张表上student 数据类型相同 并且定义了主键 两者都会出现此错
  • 捕获动态表中 HTML 元素的值

    我有从数据库生成的以下动态表
  • 子查询与连接

    我重构了从另一家公司继承的应用程序的一个缓慢部分 以使用内部联接而不是子查询 例如 WHERE id IN SELECT id FROM 重构后的查询运行速度提高了约 100 倍 50 秒到 0 3 我预计会有改进 但谁能解释为什么它如此剧
  • 使用 RMySQL 会干扰 RPostgreSQL

    我有一个 R 脚本 我想从 MySQL 数据库中提取一些数据 然后从 PostgreSQL 数据库中提取一些数据 但是 从 RMySQL 加载 MySQL 驱动程序会阻止我从以下位置加载 PostgreSQL 驱动程序 PostgreSQL
  • mysql计算唯一行值

    TABLE quotation id clientid 1 25 2 25 3 25 4 25 5 26 如何查询有多少个不同的客户端TABLE quotation 我不希望重复的条目被计算多次 我需要的答案是2 在 1 行中 因为唯一的非
  • 如何使组合键唯一?

    I am making a database of students in one school Here is what I have so far 如果您不喜欢阅读 请跳至 简而言之 部分 问题是我对这个设计并不满意 我想要的组合gra

随机推荐

  • 尝试填充浮点数组时出现 ArrayStoreException

    为什么以下代码会引发异常 这意味着什么 float foo array new float WIDTH HEIGHT Assume WDITH and Height are defined java util Arrays fill foo
  • VB.Net 控制台应用程序返回 SHA512 哈希值

    我正在尝试在 VB Net 2008 中编写一个控制台应用程序来接受命令行参数输入 密码 并输出哈希值 我修改了这样它就会接受一个参数 并且我添加了自己的盐 密钥 但是与相同密码和盐的 PHP 输出相比 输出似乎不正确 我需要这样的东西 这
  • 将时间戳添加到 db Rails 5+ 中的现有表

    尝试将时间戳添加到现有表中 根据API文档添加时间戳 https apidock com rails ActiveRecord ConnectionAdapters SchemaStatements add timestamps 这是我的迁
  • 以程序方式生成二维“斑点”图形的好方法

    我希望以计算快速的方式创建一个 blob 这里的斑点被定义为可以是任何形状但全部相连的像素的集合 例子 ooo oooo oo oooooo o o ooooooooooooooooooo oooo oo ooooooo o oo oooo
  • 以编程方式检测图像是否有边框(返回布尔值)

    首先 我读过这篇文章 如何以编程方式检测图像边框 https stackoverflow com questions 1954742 how to detect an image border programmatically不过 他似乎在
  • Maximo 7.6 / SQL Server 2014 中文或泰文字符

    我工作的公司正在从带有 Oracle 10g 的 Maximo 7 1 升级到带有 SQL Server 2014 的 Maximo 7 6 该程序允许 7 1 和 Oracle 10g 中的中文和泰语字符通过前端 没有任何问题 但带有 S
  • Flutter 如何使AppBar条子标题垂直居中?

    我试图将 Sliver AppBar 的标题居中 并在其下方添加第二个文本 我做不到 下面是现在的图像以及它应该的样子 谁能帮我 这是我的代码 import package flutter material dart void main g
  • 如何在android中设置文本方向

    我有一个文本视图 我在其中设置了波斯语 阿拉伯语文本并将重力设置为右侧 但它在平板电脑中显示左侧的文本 如果设置左侧的重力则显示右侧 我该怎么做 直到它正常工作
  • 显示网络流量

    是否可以查看类似于以下内容的网络流量 http 请求 原始 http 等 chrome dev tools network tab 由应用程序生成 nodejs如果有什么区别的话 通过vscode 此功能已经存在 但它不显示正在运行的应用程
  • 在 CentOS 上安装 M2Crypto

    我正在尝试通过从源代码编译来在 CentOS 上安装 M2Crypto 我正在做一个 python setup py 构建 但我收到以下错误 usr local lib python2 6 distutils dist py 266 Use
  • 在 Swift 中将对象写入 CSV 时如何处理逗号?

    关于堆栈溢出似乎还有其他答案 但没有任何特定于 swift 的答案 我正在从包含 3 个属性的站点对象生成 CSV Struct SiteDetails var siteName String var siteType String var
  • 用于谷歌存储的静态网站的 Terraform 谷歌存储桶 - 403

    尝试为静态网站创建一个谷歌存储桶 provider google project myprojectname 123 credentials file storage admin json region us central1 zone u
  • 造成这种性能下降的原因是什么?如何调查它?

    Context 我正在使用 NEON SIMD 指令为 ARM64 编写一些高性能代码 我正在尝试进一步优化 我只使用整数运算 不使用浮点数 此代码完全受 CPU 或内存限制 它不执行任何类型的系统调用或 I O 文件系统 网络或其他任何内
  • LINQ to Entities 无法识别方法“System.Web.Mvc.FileResult”

    我试图用他们的图像显示多个用户名所以 我有一个像这样的 Json 操作方法 public JsonResult GetUsers var ret from user in db Users orderby user UserName sel
  • 每次 RxSwift 中 UITextField 文本属性更改时如何获取信号

    如何从以编程方式对 UITextField 文本属性进行的更改中获取信号 通过使用 rx text 仅当用户通过键盘输入文本时报告信号 如果您以编程方式设置 textField text 则信号不会触发 这就是我使用 rx text 的方式
  • 如何将 3D 点云导出为渲染的体素网格?

    我有一个由几个彩色体素组成的场景 当在 meshlab 中打开它时 所有点都被绘制为二维正方形 是否可以在网格实验室中渲染一个场景 其中正方形被 3D 立方体替换 并具有额外的闪电 反射率 这是我到目前为止得到的 我宁愿想要这样的东西 我为
  • 使用 protobuf 作为文本配置文件

    我最近遇到一个非常大的关键任务项目 其中所有配置 文件是使用文本 protobuf 定义来定义的 配置文件的意思是 人类可读和可编辑 例如 message ServerSettings required int32 port 3022 op
  • Coldfusion 中的字符串“00”等于“.0”?还有什么?

    所以我注意到 ColdFusion 回来了true对于条件 00 0 这可以在 CF 9 1 和 CF 10 中重现 我可以通过添加一个轻松解决这个问题find foo 条件 但这不正常 这样的事情让我对 ColdFusion 产生了怀疑
  • 使用 itextsharp 勾选 pdf 复选框

    我尝试了很多不同的方法 但我无法选中该复选框 这是我尝试过的 var reader new iTextSharp text pdf PdfReader originalFormLocation using var stamper new i
  • 在 mysql 中导出和导入 utf8 数据:最佳实践

    我们经常需要将数据文件发送给我们的一位客户 其中包含他 她需要翻译的数据库中的数据 大多数情况下 此导出为 CSV 或 XLS 大多数时候 我们使用 phpmyadmin 创建 csv 转储 并获得包含翻译数据的 xls 文件 问题是 大多