纳入MySQL数据库的问题(web2project)

时间:2015-10-21 10:18:50

标签: php mysql database character-encoding

当我想用俄语添加项目名称时,应用程序将填充的数据以不可读的格式保存到mysql数据库中,如проект номер три де фшоыÑшфыво шщфыовÑшщыв (проект номер три де фшоысшфыво шщфыовсшщыв)。但是,当我想查看有关当前项目的详细信息时,项目的视图表单会将数据显示为其类型(例如проект номер три де фшоысшфыво шщфыовсшщыв)。

由于数据库填充了非utf8格式,项目的打印视图也有同样的不便。

我应该更改或删除哪些内容,以便数据的插入过程正确?

pic1 pic2

1 个答案:

答案 0 :(得分:0)

проекÑпроек的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

其中长度足够大而另一个“......”还有其他任何内容($productId /date /category /subcategory 等)已经在列上。