mysql - 更改mysql中表的编码
问题描述
所以我已经使用这个数据库将近二十年了(第一个条目是 2001 年)。最近几年,网上商店问我的客户他们的名字是什么,他们输入一些东西,然后将其作为他们的名字输入数据库。现在,当必须打印该名称时,我们已经编写了软件,通过将其合并到 ps 模板中,将其名称放在正确的位置。当然,我们时不时会得到奇怪的字符,所以现在我们制作了一个表格,可以将 ä 更改为使 ä 在后记中出现的任何内容。作品!所以上周我升级到了ubuntu 20.04,现在有人在他的名字里放了一些有趣的字符(不是他的错......他的父母!)。但是数据库拒绝接受带有有趣字符的名称。原来编码仍然设置为 latin1 或类似的东西。当我尝试将编码设置为“
在这个单一表中有 4000 多个条目,我不期待手动查看和修改数据库中的 10000 多个记录。我该如何继续使用已经运行了近 20 年的数据库?
我不能把我所有的东西都扔掉重新开始。我无法手动查看所有错误记录。我不能容忍数据保持标记为“二进制”,因为该软件是“内部”编写的,一些维护任务没有漂亮的编程 gui,而是在 phpmyadmin 中完成。好的。我已经解决了“显示”部分。我可以将列标记为在 phpmyadmin 中显示为文本,但是我不能再像以前那样编辑 phpadmin 中的数据了。
就个人而言,我喜欢可以将文本放入数据库的日子,而数据库不会干扰并仅存储数据。今天我花了 4 个小时与一些新的一致性检查作斗争,恕我直言根本没有帮助。在这种情况下,客户已经离开,然后突然在幕后他的订单没有进入数据库。非常有趣!
解决方案
推荐阅读
- android - 图标显示在颤振地图中的错误位置,但显示了我所在的确切纬度
- blockchain - 我们可以从作为参数传递给基板中函数的调用(类型)中获取托盘和函数数据吗?
- package - alpine aarch64 上的 glibc:gcompat:没有这样的包
- python - Python Pandas DataFrames 与下一行进行比较
- tomcat - manjaro下tomcat的配置问题
- flutter - AppBar 不工作并被视为死代码
- node.js - 将 api 响应转换为 nodejs 中的视图
- flutter - 如何理解 Flutter CPU profiling 图
- php - 如何在每个类别中有新帖子时显示每个类别的最新帖子并更改类别的顺序?
- python - 在烧瓶 sqlalchemy 中将 varchar 列转换为十进制