MySQL到PostrgreSQL的编码问题


MySQL to PostrgreSQL encoding issue

我想我在这方面有9000多个问题,我读了很多关于这方面和类似问题的文章,但我仍然无法在Postgre表中获得清晰的数据。

我有一个MySQL数据库,默认设置为utf-8,网站的字符集也设置为utf。但如果我查看DB,我会看到ДÐΜкор。然而,网页上的输出是好的。

我现在知道,这是cp1252,它还没有设置(据我所见)。

如果我将数据传输到Postrgre,输出就像ДÐΜкор,与MySQL相反,具有相同的数据和设置。

我尝试过的东西:

  1. 转储sql文件,重新创建数据库(确保它是utf),执行sql-没有结果
  2. mysqldump dbname -u root -p --default-character-set=latin1 > dump.sql-无结果
  3. 我尝试过转换转储文件:iconv -f cp1252 -t utf-8 dump.sql -> new.sql-没有结果

我本来会发布这个问题的,但我已经在这上面浪费了很多时间,我确实需要

的帮助

找到了一种转换所需内容的方法,很高兴数据库不是很大。通过以下功能完成:

mb_convert_encoding($model->text, 'cp1252', 'utf8')