当我想用俄语添加项目名称时,应用程序将以不可读的格式将填充的数据保存到mysql数据库中,例如п е фшѤѴ´ÑшфѴ´Ð²Ð Ñ´´ª Ñ„Ñ´´ª вÑшщѴ´´ (проект номер три де фшоысшфыво шщфыовсшщы) в
) 。但是,当我想查看有关当前项目的详细信息时,项目的 View 表单会显示输入的数据(例如 проект номер три де фшоысшфыво шщфыовсшщыв
)。
由于数据库填充的是非utf8格式,项目的打印 View 也同样存在不便。
我应该更改或删除什么以使数据的插入过程正确?
最佳答案
проекÑ
是 Mojibake проек
.
这是一个经典案例
- 客户端中的字节已正确编码为 utf8(良好)。
- 您已联系
SET NAMES latin1
(或set_charset('latin1')
或...),可能是默认的。 (应该是utf8
。) - 表中的列可能是也可能不是
CHARACTER SET utf8
,但本来应该是这样的。
如果您需要修复数据,则需要“两步更改”,例如
ALTER TABLE Tbl MODIFY COLUMN col VARBINARY(...) ...;
ALTER TABLE Tbl MODIFY COLUMN col VARCHAR(...) ... CHARACTER SET utf8 ...;
其中长度足够大,而另一个“...”有其他任何内容( NOT NULL
等)已经在列上。
关于php - MySQL 数据库的编码问题 (web2project),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33256725/