2016-10-02 61 views
3

如何知道我使用SQL查询调用内容时,会在我的PHP页面中显示特殊字符。例如,对于所有其他特殊字符,é显示为 等等。使用哪种SQL排序规则来处理特殊字符,如é?

我正在使用MySQL服务器。数据库排序规则设置为utf8_unicode_ci,不过表的一些attributs被设置为latin1_swedish_ci

+1

请告诉我们*您正在使用哪个*数据库系统。不同的产品(例如[tag:sql-server]或[tag:oracle])对不同的字符集有不同的支持。请[编辑]你的问题,并添加一个合适的标记 –

+0

阅读关于[_Black Diamonds_](http://stackoverflow.com/questions/38363566/trouble-with-utf8-characters-what-i-see-is-not-what -i-存储的)。 –

回答

1

使用UTF-8字符集,当你创建一个数据库或表:

CREATE DATABASE Soccer CHARACTER SET utf8 COLLATE utf8_general_ci; 

你可以找到更多的信息here

+0

有没有办法改变整个数据库的字符集,因为它已经被创建并且包含数据? – Amine

+0

看看这个http://stackoverflow.com/questions/6115612/how-to-convert-an-entire-mysql-database-characterset-and-collat​​ion-to-utf-8 – imant

+0

谢谢,我改变了排序规则。然而,角色仍然显示为 。 – Amine

3
ALTER DATABASE databasename CHARACTER SET utf8 COLLATE utf8_unicode_ci; 

这应该适用于整个数据库。 Source

+0

他很满意我的回答,他在这个答案的评论中要求提供整个数据库。我的声誉很低,在评论下回答。 – ZHorvat74