首页 > 解决方案 > 更改mysql中表的编码

问题描述

所以我已经使用这个数据库将近二十年了(第一个条目是 2001 年)。最近几年,网上商店问我的客户他们的名字是什么,他们输入一些东西,然后将其作为他们的名字输入数据库。现在,当必须打印该名称时,我们已经编写了软件,通过将其合并到 ps 模板中,将其名称放在正确的位置。当然,我们时不时会得到奇怪的字符,所以现在我们制作了一个表格,可以将 ä 更改为使 ä 在后记中出现的任何内容。作品!所以上周我升级到了ubuntu 20.04,现在有人在他的名字里放了一些有趣的字符(不是他的错......他的父母!)。但是数据库拒绝接受带有有趣字符的名称。原来编码仍然设置为 latin1 或类似的东西。当我尝试将编码设置为“

在这个单一表中有 4000 多个条目,我不期待手动查看和修改数据库中的 10000 多个记录。我该如何继续使用已经运行了近 20 年的数据库?

我不能把我所有的东西都扔掉重新开始。我无法手动查看所有错误记录。我不能容忍数据保持标记为“二进制”,因为该软件是“内部”编写的,一些维护任务没有漂亮的编程 gui,而是在 phpmyadmin 中完成。好的。我已经解决了“显示”部分。我可以将列标记为在 phpmyadmin 中显示为文本,但是我不能再像以前那样编辑 phpadmin 中的数据了。

就个人而言,我喜欢可以将文本放入数据库的日子,而数据库不会干扰并仅存储数据。今天我花了 4 个小时与一些新的一致性检查作斗争,恕我直言根本没有帮助。在这种情况下,客户已经离开,然后突然在幕后他的订单没有进入数据库。非常有趣!

标签: mysqlencodingutf-8character

解决方案


推荐阅读