mrm*_*mrm 1 mysql character-encoding
我正在使用名称latin1集(使用latini_swedish_ci排序规则)保存名称的数据库,但名称使用的是波斯语。
似乎有些主体将表排序规则更改为utf8(utf8_bin),但数据仍然像这样:

我想知道如何解决这个问题。
我更改了表排序规则和DB排序规则,但仍然有这种值。任何帮助将不胜感激。
提前致谢
好像你有
SET NAMES latin1 (或同等学历),以及CHARACTER SET latin1 在目标列上。清理表的“方法”是执行此处描述的两步ALTER ,这涉及
ALTER TABLE Tbl MODIFY COLUMN col VARBINARY(...) ...;
ALTER TABLE Tbl MODIFY COLUMN col VARCHAR(...) ... CHARACTER SET utf8 ...;
Run Code Online (Sandbox Code Playgroud)
长度足够大而另一个“ ...”具有其他任何值(NOT NULL,等等)已经在列上。
抱歉,但是修复150万行需要很长时间。
我敢肯定,这将无法正常工作:
ALTER TABLE tbl CONVERT TO CHARACTER SET utf8; -- no
Run Code Online (Sandbox Code Playgroud)
仅当表当前包含等效于utf8字符的latin1(等)时,它才有效。阿拉伯字符没有等效的latin1。
(我将其视为阿拉伯语:باسلام-> ??????)