当前位置: 首页 > 知识库问答 >
问题:

乱码的汉字能恢复吗?

华锦
2024-03-11

下面是我恢复出来的建表的数据结构,但里面的备注的汉字都成乱码了?这种情况可以用什么办法把乱码恢复成正确的汉字吗?

CREATE TABLE `rb_admin_group` (  `id` int(10) unsigned NOT NULL AUTO_INCREMENT comment 'ID',  `pid` int(10) unsigned NOT NULL comment '涓婄骇鍒嗙粍',  `name` varchar(400) DEFAULT NULL comment '缁勫悕',  `rules` text comment '鏉冮檺瑙勫垯ID',  `createtime` int(10) DEFAULT NULL comment '鍒涘缓鏃堕棿',  `updatetime` int(10) DEFAULT NULL comment '鏇存柊鏃堕棿',  `status` enum('1','0') NOT NULL comment '鐘舵€?0=绂佺敤,1=鍚敤',PRIMARY KEY `PRIMARY` (`id`) USING BTREE) ENGINE=InnoDB;

共有2个答案

景昊焜
2024-03-11

参考我以前的回答:

https://segmentfault.com/q/1010000043923867/a-1020000043923969

你这是第一种情况,那么反过来重新读取一遍就好了。

乱码 原文
涓婄骇鍒嗙粍 上级分组
缁勫悕 组名
鏉冮檺瑙勫垯ID 权限规则ID
鍒涘缓鏃堕棿 创建时间
鏇存柊鏃堕棿 更新时间
鐘舵€?0=绂佺敤,1=鍚敤 状态:0=禁用,1=启用

看你是写 PHP 的?用 PHP 转换了一下,关键代码很简单,就一行:

image.png

至于怎么提取 comment 部分你就自己想办法吧。你也可以试着把整个 SQL 重新转换一下编码。

公冶京
2024-03-11

乱码通常是由于字符编码不匹配或损坏导致的。在你提供的例子中,rb_admin_group 表的备注字段(comment)中的汉字显示为乱码。要恢复这些乱码为正确的汉字,你可以尝试以下几个步骤:

  1. 检查数据库和表的字符集设置:确保数据库和表的字符集设置正确。例如,如果你的数据库和表使用的是 UTF-8 字符集,那么它们应该能够正确存储和显示汉字。你可以使用以下 SQL 查询来检查字符集设置:
SHOW CREATE DATABASE your_database_name;SHOW CREATE TABLE rb_admin_group;

如果字符集不是 UTF-8,你可以考虑更改它。但请注意,更改字符集可能会影响现有数据。

  1. 检查源数据的字符编码:乱码可能是由于源数据(即你用来创建表的数据)的字符编码与数据库或表的字符编码不匹配导致的。确保你导入或输入的源数据的字符编码与数据库和表的字符编码一致。
  2. 修复乱码:如果以上步骤都没有解决问题,你可能需要手动修复乱码。这通常涉及将乱码字段的内容复制到一个文本编辑器中,然后尝试更改编码设置(例如从 GBK 更改为 UTF-8),直到乱码变为正确的汉字。然后,你可以将修复后的内容重新插入到数据库中。
  3. 备份数据:在进行任何更改或修复操作之前,务必备份你的数据。这样,如果出现问题,你可以恢复到原始状态。

最后,如果你无法手动恢复乱码,可能需要考虑联系专业的数据库管理员或数据恢复专家,他们可能具有更专业的工具和方法来处理这类问题。

 类似资料:
  • 我试图用fdf或xfdf中的汉字填充pdf字段。 到目前为止,我已经尝试了pdftk、mcpdf、pdfbox和fpdm。 它们都可以将字符输入字段,但不会显示。当我点击要编辑的字段时,字符按预期显示,但当我再次点击字段外时,字符消失。如果我输入的是英语,它们就会显示错误,例如“hello”变成“IFMMP”。 这一切都让我怀疑这是字体/字符映射的问题,我尝试过将完整的字体嵌入到pdf中,但没有任

  • 本文向大家介绍escape编码与unescape解码汉字出现乱码的解决方法,包括了escape编码与unescape解码汉字出现乱码的解决方法的使用技巧和注意事项,需要的朋友参考一下 今天的项目中遇到需要用javascript的escape编码汉字再用unescape解码的情况,测试代码段的时候出现了乱码的情况。 具体情况如下: 首先,用EditPlus打开测试页面test.html,编辑如下ht

  • 我们运行了一些java代码,使用cron在Linux中持久化生产数据库中的数千条记录。该框中的区域设置字符是"ANSI_X3.4-1968"。现在,我们在将这些持久化到数据库之前采取了以下步骤。1.在文本2上使用StringEscape eUtils.unescapeHtml4。以UTF-8格式写入字符串并在数据库中持久化 现在的问题是在这些步骤之后,特殊字符显示为“?”。有没有可能把它还原回原来

  • 本文向大家介绍通过网页查看JS源码中汉字显示乱码的解决方法,包括了通过网页查看JS源码中汉字显示乱码的解决方法的使用技巧和注意事项,需要的朋友参考一下 前言 在网页中读取js文件,中文显示正常(比如alert出js文件的中文信息)。但当浏览器查看js文件源代码时,则会看到代码里的中文全是乱码。虽然不影响程序运行,但是在读js文件代码时,会受影响。 前几天在浏览器查看自己写的web代码的时候,发现外

  • 问题内容: 我正在通过对象从轴Web服务接收字符串。因为我没有得到我期望的字符串,所以我通过将字符串转换为字节进行了检查,然后在hexa中得到了C3A4C2 BDC2A0 C3A5C2 A5C2BD C3A5C2 90C297,当我期望使用E4BDA0 E5A5BD E59097时,实际上在UTF- 8。 有什么想法会导致您好吗成为C3A4C2 BDC2A0 C3A5C2 A5C2BD C3A5C

  • 问题内容: 我是一个初学者,在Python 2.7中无法解码带有数字+(简体)汉字的几十个CSV文件到UTF-8。 我不知道输入文件的编码,所以我尝试了所有我知道的可能的编码- GB18030,UTF-7,UTF-8,UTF-16和UTF-32(LE和BE)。同样,尽管它们应该是GB18030的子集,但最好还是使用GBK和GB3212。当它们到达第一个汉字时,UTF都停止。除GB18030外,其他