数据库传输/服务器设置期间波兰字符集出现编码错误

2024-03-22

我正在尝试将我的一个数据库从一台主机(home.pl)传输到另一台主机(我新设置的服务器)。我试图传输的脚本是wordpress。不幸的是,无论使用哪种方法,我都在努力解决编码问题。

新主机配置

在我的新服务器中,我在 my.cnf 中使用以下指令:

[mysql]
default-character-set=utf8

[mysqld]
collation-server = utf8_general_ci
character-set-server = utf8
init_connect='SET collation_connection = utf8_general_ci' 
init_connect='SET NAMES utf8' 

[client]
default-character-set=utf8

我的 mySQL 变量:

character_set_client    utf8
character_set_connection    utf8
character_set_database  utf8
character_set_filesystem    binary
character_set_results   utf8
character_set_server    utf8
character_set_system    utf8
collation_connection    utf8_general_ci
collation_database  utf8_general_ci
collation_server    utf8_general_ci

新服务器上的 Php.ini:

; PHP's default character set is set to UTF-8.
; http://php.net/default-charset
default_charset = "UTF-8"

旧主机配置

我已经在我的旧主机中运行了 SHOW VARIABLES,我试图从中传输数据库,并得到以下信息:

character_set_client    utf8
character_set_connection    utf8mb4
character_set_database  utf8
character_set_results   utf8
character_set_server    latin2
character_set_system    utf8
/usr/local/pssql55/share/charsets/
collation_connection    utf8mb4_general_ci
collation_database  utf8_polish_ci
collation_server    latin2_general_ci

尝试过的传输方法

1)通过phpmyadmin转账

我尝试过使用 PHPMYADMIN 导出/导入。特别是,我在通过 phpmyadmin 导出和导入期间都指出 UTF-8 作为文件字符集。

奇怪的是,在源服务器和新主机上的 phpmyadmin 中,我没有看到波兰字符(输出与没有波兰字符的情况相同)。

2) 通过 mysql dump 导出/导入

我也尝试过使用:

 mysqldump -h OLD_HOST -u OLD_USER -p DB | mysql -h localhost -u root NEW DATABASE

但编码也失败。

尝试也使用编码变量,但也失败了:

 mysqldump --default-character-set=latin1  | mysql --default-character-set=utf8 

转储文件

在我使用带有 UTF-8 编码集的程序员记事本的转储文件中,字符如下所示:

"Ä" instead of "ę"

在 Microsoft Word 中打开它们,我看到了

Ä™ instead of "ę"

编码转换器 (gżegżółka) 识别出该文件位于: C:\用户\mkondej001\桌面\14271425_mk.sql

Kodowanie: Unicode UTF-8
EOL: LF (Unix) 

有关如何正确传输数据库/设置服务器变量的任何线索吗?


最后我发现问题与我原来的服务器上的数据错误地写入SQL有关。

我最终使用以下方法传输数据库:

mysqldump --default-character-set=utf8 [ORYGINAL_DB] | mysql [TARGET_DB] --default-character-set=utf8

和执行:

UPDATE [table name] SET [field] = CONVERT(BINARY CONVERT([field] USING latin2) USING utf8)

正如这里的建议:

存储数据的奇怪字符编码,旧脚本显示它们很好,新脚本却没有 https://stackoverflow.com/questions/20237474/strange-character-encoding-of-stored-data-old-script-is-showing-them-fine-new

希望上述解决方案对其他人也有帮助。

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

数据库传输/服务器设置期间波兰字符集出现编码错误 的相关文章

随机推荐

  • 折线百分比的纬度

    如何沿折线返回给定百分比的 latLng 值 我花了一天时间使用插值和单个节点来完成此任务 他们是不是有一个更简单的函数可以让 grunt 工作 谷歌地图 API v3 谢谢 http www geocodezip com scripts
  • 是否可以在 java jit 上使用 Final boolean 删除跳转?

    正如我们所知 有些人说 java JIT 比 C 更快 我有一些想法 可以利用 JIT 并在运行时代码中删除一些指令 这是我尝试过的示例代码 Created by kadirbasol on 4 6 14 public class Remo
  • jqplot 不同折线图的荧光笔

    我有一系列折线图jqPlot图表 我想要做的是关闭所有图表的突出显示 除了我想要突出显示的一张图表 我怎样才能做到这一点 我还没有一个很好的例子来说明如何做到这一点 也没有时间做一个 但我会在完成时更新 在所有事件中 荧光笔插件都会为每个系
  • PrestaShop:生产前删除所有测试数据

    我正在搜索一个在 MySql 上运行的脚本 以删除 截断表 PrestaShop 数据库版本 1 4 9 上的所有测试数据 客户 订单 购物车等 感谢 帕斯卡 安装 Prestashop Cleaner 并在配置中您可以选择删除目录 订单和
  • RestAssured:如何禁用 PreAuthorize

    我正在使用 RestAssured 测试 API 我调用的方法使用下一个注释 PreAuthorize hasAnyRole ROLE1 ROLE2 ROLE3 我的测试类包含用于测试的活动配置文件 对于测试配置 我们使用 yaml 文件
  • 在 AngularJS 中使用“scope”从另一个控制器调用一个控制器的方法

    我试图通过使用在第一个控制器中调用第二个控制器的方法scope多变的 这是我的第一个控制器中的方法 scope initRestId function var catapp document getElementById SecondApp
  • Haskell 中的字符串格式化

    Haskell 相当于什么 string str string Format 0 1 10 20 C 有一个Printf https hackage haskell org package base docs Text Printf htm
  • 如何制作多列无序列表?

    我正在尝试创建一个如下所示的项目列表 主要要求是列表应该灵活 可以在不接触代码的情况下添加或删除列表项 到目前为止我发现的最好的解决方案是将所有列表项 包括标题 放入 li 标记并使用本文中介绍的技术之一对其进行样式设置分开列出文章 htt
  • 重写 URL 并使新 URL 显示在地址栏中

    我使用下面的代码来重写一些 URL RewriteEngine On Options FollowSymlinks RewriteBase RewriteRule New Hampshire a zA Z0 9 s html NH 请记住
  • 如何在 DLL 边界上公开 STL 列表?

    我有一个 DLL 需要访问主机应用程序中 STL 容器中存储的数据 因为 C 没有标准的 ABI 而且我想支持不同的编译器 所以应用程序和 DLL 之间的接口基本上必须保持普通旧数据 对于向量来说 这相对简单 您可以简单地返回向量的内存块
  • 如何在Python中的setup.py中包含并安装本地依赖项?

    我正在创建一个setup py分发我的应用程序 该应用程序有许多可以通过 pip 安装的依赖项 它还有一些无法从 PyPI 安装的自定义依赖项 所以 我创建了一个custom package 0 1 whl它将包含在发行版中 并且必须在之后
  • XMPP - 名册订阅说明

    假设我的 Jabber 服务器上有 2 个用户 Alice 和 Bob 添加到名册中并订阅为both 我需要执行以下步骤 Alice 向 Bob 发送订阅请求 当 Bob 收到请求时 他会批准该请求 Bob 可能也对 Alice 的存在感兴
  • 将 2 个参数 Lambda 表达式转换为 1 个参数 Lambda 表达式(指定一个参数)

    我有表情 Expression
  • PHP-从字符串中删除所有制表符

    我可以从字符串中删除所有单个选项卡 Copying and pasting the tab directly txt str replace txt 这只会删除单个选项卡 但不会删除双选项卡 然后我尝试了这个 认为 t 足以找到选项卡 tx
  • Django Rest Framework 不允许我拥有多个权限

    我的 Django Rest 框架和权限有问题 例如 DRF 不允许我对我的观点拥有多个权限 如果我以管理员用户身份登录 API 我可以使用此 mixin 进行访问 class PermissionMixin object permissi
  • 博客中最常见的 3 页序列

    给定一个由字段 用户 页面 url 组成的网络日志 我们必须找出用户最常使用的 3 页序列 有一个时间戳 并且不能保证单个用户访问将按顺序记录 它可能像 user1 Page1 user2 Pagex user1 Page2 User10
  • 如何通过telnet发送POST请求

    我想知道如何向服务器 例如 Google 搜索 发送 POST 请求 我已经知道如何发送 GET 请求 例如 GET http www google com 我尝试这样做 POST wikipedia or POST wikipedia o
  • 用于编译程序的 G++ -I 选项

    这里有一个小问题 对于我这样一个Linux程序新手来说是无法解决的 现在我有一个需要编译的main cpp程序 有一个 include Down h 在文件的前面 实际上 这个头文件存在于另一个目录中 位于 include目录 另外 Dow
  • DAX 度量:动态地仅首先考虑每个组,然后总体返回其计数

    我们正在努力解决一个可能比我想象的更简单的问题 我只是被困住了 问题包括定义一个DAX Measure that 动态地仅计数first期间访问量对于每位患者 访问次数是不是第一期间必须是分配空白 价值 在讨论目标之前 请让我介绍一下场景
  • 数据库传输/服务器设置期间波兰字符集出现编码错误

    我正在尝试将我的一个数据库从一台主机 home pl 传输到另一台主机 我新设置的服务器 我试图传输的脚本是wordpress 不幸的是 无论使用哪种方法 我都在努力解决编码问题 新主机配置 在我的新服务器中 我在 my cnf 中使用以下