代码之家  ›  专栏  ›  技术社区  ›  Darshan Gowda

服务器更改后mysql数据库中的非英文文本无法读取

  •  0
  • Darshan Gowda  · 技术社区  · 6 年前

    我已将服务器从namesheap更改为vultr并导出/导入了数据库,但数据库中的非英语文本显示为以下不可读文本-> °。 如何解决这个问题? 导出文件的字符集本身为UTF 8。 php版本为5.6,使用serverpilot设置vultr服务器。

    2 回复  |  直到 6 年前
        1
  •  0
  •   502_Geek    6 年前

    我猜您的问题是在导出数据库和导入数据库时发生的。几个月前我也有同样的问题。我所做的是在导出和导入时使用完全相同的字符集。

    导出数据库

    mysqldump -u USERNAME -p PASSWORD --default-character-set=utf8 USER_DATABASE > backup.sql
    

    导入数据库

    mysql -u USERNAME -p PASSWORD --default-character-set=utf8 USER_DATABASE < backup.sql
    

    希望这有帮助。

        2
  •  0
  •   Darshan Gowda    6 年前

    问题是每个表的字符集默认设置为latin1\u swedish\u ci。通过选择每个表并更改结构,我将每个表的内容都更改为utf8\U general\U ci,结果一切正常。