我最近将我的网站升级到PHP 5.7并重新安装了MySQL数据库。先前的数据已导入。
现在我在输出文字中有很多钻石问号。我已阅读,问题似乎是我的数据库的排序规则设置为latin1_swedish_ci,我需要utf8才能正确呈现存储在数据库中的特殊字符。
如果我更改排序规则,这可能会解决我的问题,修复旧帖子吗?
在更改排序规则之前是否关闭网站,是否需要重新启动才能生效?我有点担心破坏数据,我的用户会非常懊恼丧失其历史的帖子。
我没有设置新数据库,我升级了现有数据库,需要保留历史数据。
我按照下面发布的其中一个答案,它适用于在升级之前输入到数据库的数据,但现在使用各种“代替撇号”等呈现更新的数据。
答案 0 :(得分:1)
您可以使用
$con = mysqli_connect("HOST","DB_USER","PASSWORD","DB_NAME");
$db->set_charset('utf8');
OR
mysql_query('SET NAMES utf8');