将旧服务器上的“错误”MySQL 编码转换为新服务器上的正确 UTF-8

2024-02-27

我在 Web 服务器上设置了一个 Web 项目,编码明显错误。但不知何故(我真的不知道为什么),我们想出了如何处理它并且编码对我们有用。 但现在我们将数据移动到具有正确设置的 UTF8 数据库的新服务器,令人惊讶的是,编码是错误的。 我们如何“纠正”数据,有什么最佳实践吗?

Example旧服务器:http://www.orat.io/stmt/200 http://www.orat.io/stmt/200新服务器:http://www.firefile.net/stmt/200 http://www.firefile.net/stmt/200

多谢!


这实际上发生在实践中 - 我有时见过它:-)通常会发生什么:

  • 数据库位于utf-8
  • 输入/输出采用编码1 - 说是iso-8859-2(即 HTML 中的元字符集)
  • 但是,因为以前的管理员不知道如何正确设置数据库连接编码(这是使用指定的字符集)set namesSQL命令),数据库连接配置完毕as if输入/输出采用不同的编码2 - 比如说iso-8859-1- 许多 Linux 系统上的默认设置。

要从数据库中获取正确的数据,您必须以与之前相同的错误方式访问它 - 例如对于上面的例子,设置iso-8859-1编码但实际上得到iso-8859-2。一切都“有效”,直到有人开始正确访问数据库。

您没有提供有关您的案例中的encoding1/encoding2 的足够详细信息,并且您可能不知道。因此,要么查看旧的设置,要么尝试通过反复试验来找出答案。

重新编码数据库的最简单方法可能是要做mysqldump在encoding2中,然后声明它是encoding1(只需将set names encoding1在 sql 文件的开头)并通过 source-ing sql 文件将数据库导入到一个空数据库中。当然,所有数据库字段都保留在utf-8每时每刻。

请小心,使用 PHPMyAdmin 作为独立工具来查看数据库的“真实”状态。 :-) 祝你好运。

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

将旧服务器上的“错误”MySQL 编码转换为新服务器上的正确 UTF-8 的相关文章

  • sql/mysql 过滤器仅包含最大值

    我有一个像这样的结果集 ID name myvalue 1 A1 22 2 A2 22 3 A3 21 4 A4 33 5 A5 33 6 A6 10 7 A7 10 8 A8 10 9 A9 5 我想要的是仅包含包含可用的最高 myval
  • java.sql.SQLException:在结果集开始之前[重复]

    这个问题在这里已经有答案了 我已尝试使用以下代码来检索存储在数据库中的图像 我创建了一个名为image db包含一个名为的表image details 该表有两个字段 id and image path两者都是类型mediumblob 我在
  • SQL选择符号||是什么意思意思是?

    什么是 在 SQL 中做什么 SELECT a b AS letter 表示字符串连接 不幸的是 字符串连接不能在所有 sql 方言之间完全移植 ANSI SQL 中缀运算符 mysql concat 可变参数函数 caution 表示 逻
  • MySQL C++ 连接器未解决的依赖关系(VS 2015)

    我正在尝试在 Windows Visual Studio 2015 上编译 MySQL Connector C 我根据以下内容使用CMake生成了项目文件官方说明 https dev mysql com doc connector cpp
  • MySQL中Join同表临时表

    我喜欢在 MySQL 中加入一个失败的临时表 这个想法很简单 CREATE TEMPORARY TABLE temp table LIKE any other table srsly it does not matter which tab
  • 在多个数据库的主目录中配置 .my.cnf 不起作用。适用于单个数据库

    这是我的 my cnf 文件 client user user1 password somePasswd1 database someDb client2 user user1 password somePassed2 database s
  • Laravel 雄辩的 withCount() 应该比 with() 慢

    所以我问这个的原因是在我当前的应用程序中withCount 与仅通过以下方式获取关系的所有数据相比 响应时间几乎增加了三倍with 并只是从前端获取长度 javascript 我认为使用的要点withCount 是为了加快查询速度 但也许我
  • 按组内顺序排序

    order by 在第二个查询中不起作用 我需要先按 DNAID 订购 然后按 DNBID 订购 首先查询其顺序为 111221 第二个查询的顺序为 112112 有关我想要完成的任务的更多信息和细节https stackoverflow
  • SQL查询:按字符长度排序?

    是否可以按字符总数对sql数据行进行排序 e g SELECT FROM database ORDER BY data length 我想你想用这个 http dev mysql com doc refman 5 0 en string f
  • 如何让 mysql 输出 DateTime 到儒略日数?

    基本上我正在使用用于 Ruby 的 MySQL gem http www tmtm org en mysql ruby 并且我对日期比较没有合理的支持 这Mysql Time类只为我提供了访问器方法 如年 月 秒等 如果我可以将其转换为 R
  • 如何在 mysql 中两次连接同一个表?

    我有2张桌子 其中一个 域 具有域 ID 和域名 dom id dom url 另一列包含实际数据 其中 2 列需要 TO 和 FROM 域名 所以我有 2 列 rev dom from 和 rev dom for 它们都存储域表中的域名
  • 我想使用 Sequelize 将 MySQL 中的对象数组存储在单个列中

    之前我正在寻找如何使用 Sequelize 在 MySQL 中插入对象数组 然后我找到了一种直接插入数组的解决方案 例如 1 2 在单列中 insert into TABLE NAME id marks VALUES 21 1 2 但我正在
  • 获取MySql中重复行的列表

    我有一张这样的桌子 ID nachname vorname 1 john doe 2 john doe 3 jim doe 4 Michael Knight 我需要一个查询 该查询将从具有相同 nachname 和 vorname 的记录
  • InnoDB 或 MyISAM - 为什么不两者都使用呢?

    我读过各种关于两者之间哪个更好的主题InnoDB and MyISAM 看来争论的都是使用还是其他 根据表的不同 是否不能同时使用两者 这样做会有什么缺点 据我所知 发动机可以在CREATE TABLE命令 因此 某些经常读取的表可以设置为
  • MySQL:用户对数据库的访问被拒绝

    我正在尝试在 Heroku 上的远程 SQL 服务器上创建一个数据库 clearDB 我与此联系 mysql host lt
  • 如何将从 MySQL 获取的数据以 JSON 形式返回到 php 文件中?

    我必须将从 MySQL 表中获取的数据作为 JSON 返回到 php 文件中 这是我连接到 mysql 并从中获取数据的代码 现在我怎么能将它作为 JSON 返回呢
  • ASIHTTPRequest:检测到不正确的 NSStringEncoding 值 0x0000

    检测到不正确的 NSStringEncoding 值 0x0000 假设 NSStringEncodingASCII 将停止此兼容性映射行为 不久的将来 当我使用 ASIHTTPRequest 时 我不断收到此错误 50 的时间 这是怎么回
  • 使用 iconv 将 UTF-16BE 转换为无 BOM 的 UTF-8

    我正在尝试使用 iconv 将 UTF 16BE 编码文件 字节顺序标记 0xFE 0xFF 转换为 UTF 8 如下所示 iconv f UTF 16BE t UTF 8 myfile txt 然而 生成的输出具有 UTF 8 字节顺序标
  • 自定义 php 论坛 - 显示新的/未读的帖子

    我自己使用 php 编写了一个自定义论坛脚本 我决定不使用 phpbb 和其他工具 因为我希望我所做的事情具有 100 的灵活性 不过我遇到了一个问题 如何向用户显示帖子是否是新的 未读的 我想到了两种解决方案 1 饼干 2 数据库 我不想
  • 在 C# .NET 中对非 ASCII 字符进行编码

    我想向我的应用程序发送的电子邮件添加自定义标头 标头名称只能包含 ASCII 字符 但对于值和用户可能会输入 UTF 8 字符 我必须对它们进行 Base64 编码 此外 我还必须将它们解码回 UTF 8 以便在 UI 中向用户显示它们 最

随机推荐

  • 防止文本表突出显示

    我有一个表 我允许用户 选择 多行 这一切都是使用 jQuery 事件和一些 CSS 来处理的 以直观地指示该行已被 选择 当用户按下 Shift 键时 可以选择多行 有时这会导致文本突出显示 有什么办法可以防止这种情况发生吗 CSS3 有
  • 什么是静态嵌套类? [复制]

    这个问题在这里已经有答案了 可能的重复 Java 静态内部类与非静态内部类 https stackoverflow com questions 1353309 java static vs non static inner class 什么
  • OS X 上的 Pthread 和 gcc 编译问题

    我有一个脚本可以在 Linux Ubuntu 11 04 上编译良好 但不能在 OS X Lion 上编译 gcc pthread o hw1 hw1 c hw1 c 22 error expected asm or attribute b
  • 线程 6,RECV TLSv1 警报:致命,握手失败

    这段代码有什么问题 它应该信任所有主机 但事实并非如此 例如 它可以在 google com 上正常运行 但不能在我的计算机上本地运行的 API 网关服务上运行 为什么 SSL 调试输出 触发 SecureRandom 的播种 完成播种 S
  • 通过 istringstream 进行 C++ 字符串标记化的性能开销

    我想知道性能开销是多少 string line word while std getline cin line istringstream istream line while istream gt gt word parse word h
  • Cordova/phonegap 跟踪应用程序通过 Facebook SDK 安装

    相关问题 如何在 Phonegap Cordova 项目中实施 Facebook 移动安装广告跟踪 https stackoverflow com questions 20305956 我有一个有效的 cordova phonegap 应用
  • 在groovy中动态执行代码

    我正在尝试在 groovy 中动态运行代码 我有someNode 0 这是变量中的值var1 然后我像这样添加双引号 var2 var1 然后我尝试运行这个 request abc var2 Value I saw here https s
  • 如何在 Swift 中返回 Array 的前 5 个对象?

    在 Swift 中 是否有一种巧妙的方法可以使用 Array 上的高阶方法来返回前 5 个对象 obj c 的做法是保存一个索引 然后通过数组循环递增索引 直到索引为 5 并返回新数组 有没有办法做到这一点filter map or red
  • 检查 URL 是否包含我已单击的链接的 href

    在列表中我有一些链接 ul class dropdowner li a href black Black a li li a href white White a li li a href blue Blue a li ul 我的另一个输出
  • 从 Joda 时间库迁移到 Java 时间(Java 8)

    我正在尝试从 Joda 时间库迁移到 Java 时间 Java 8 我无法找到相当于ISODateTimeFormat dateOptionalTimeParser in java time Joda ISO 格式化程序有很好的解析器 IS
  • Google 图表工具截断 y 轴标签

    与一个谷歌条形图 http code google com apis chart interactive docs gallery barchart html 这是我得到的 这是我的自定义选项 var options width 500 h
  • 当字符串列内容比已有内容长时,HDFStore.append(string, DataFrame) 失败

    我有一个通过 HDFStore 存储的 Pandas DataFrame 它本质上存储有关我正在执行的测试运行的摘要行 每行中的几个字段包含可变长度的描述性字符串 当我进行测试运行时 我创建一个新的 DataFrame 其中包含一行 def
  • 如何在 Angularjs 中刷新控制器?

    我正在为一个应用程序使用 Ionic Framework 并且只专注于其中一个部分 在我的应用程序中 我有一个收藏夹视图 它显示用户在应用程序中其他地方收藏的项目列表 问题是 控制器中的代码仅在第一次点击收藏夹路由时运行一次 如果用户随后在
  • 如何在没有共同历史的情况下将分支合并到 GIthub 上的主分支

    我想从 Github 上不受我控制的远程存储库克隆一个特定分支 然后我想将其推送到我在 Github 上控制的存储库 在 Github UI 上 我在我的帐户下创建了我控制的新存储库 然后 我将我无法控制的远程存储库分支克隆到本地计算机上
  • Pyinstaller 和 cython 应用程序文件太大

    我正在创建可以在我的笔记本电脑上运行而无需安装 Python 的可执行文件 下面的工作完美 pyinstaller r file a so dll file a so r file b so dll file b so F bin hell
  • Vue.js - 更改我动态创建的未定义的 img 源

    我正在使用 vue js 和第 3 方 API 我已经成功获取到了json数据并在我的 html 中呈现它 但我正在努力处理图像 部分图片缺失json文件 所以我将它们本地存储在我的笔记本电脑中 我尝试在 html 中使用 v if 设置空
  • 如何在配置阶段使用相邻子项目中的类

    我想编译一个子项目 然后将这些类放在类路径中建造时另一个子项目 自定义塔斯将使用第一个塔斯创建的类 目前我正在尝试 buildscript dependencies classpath project MyOtherProject 结果如下
  • 在 Oracle 中始终获得小数点后两位的最佳方法是什么?

    在 Oracle 返回的值中始终保留 2 位小数的最佳方法是什么 目前我正在将所有与数据库相关的 PHP 函数包装在number format等等 但我想将它们直接移到 SQL 查询中 更好的是 当我连接到 Oracle 时 是否可以设置一
  • SQL查询自动转换为ElasticSearch查询

    我有一项当前将数据存储在 Oracle DB 中的服务 我正在开发一个项目 我需要运行一组 sql 查询来获取一些聚合数据 我想将这些查询存储在一个地方 我可以对其进行迭代并获取所需的数据 比如说 我今天有 10 个疑问 但是 我可以继续添
  • 将旧服务器上的“错误”MySQL 编码转换为新服务器上的正确 UTF-8

    我在 Web 服务器上设置了一个 Web 项目 编码明显错误 但不知何故 我真的不知道为什么 我们想出了如何处理它并且编码对我们有用 但现在我们将数据移动到具有正确设置的 UTF8 数据库的新服务器 令人惊讶的是 编码是错误的 我们如何 纠