本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。
本文为您介绍访问网站页面时,网页中出现乱码问题的可能原因和解决方案。
问题描述
访问网站页面时出现乱码现象。
问题原因
程序文件、网页、数据库三者字符集编码不一致导致出现乱码问题。
解决方案
将程序文件、网页、数据库三者字符集编码设为一致。
大多数编程环境的字符集都使用了UTF-8(Unicode Transformation Format)编码,可以支持全世界几乎所有国家的语言,因此推荐您使用UTF-8编码。本文以PHP和MySQL的组合介绍如何设置程序文件、网页、数据库三者的字符集编码同为UTF-8,以避免乱码问题。其它语言及字符集编码的设置方式与此类同。
程序文件的字符集编码
查看程序文件的字符集编码是否为UTF-8。您可以通过以下任意方式来完成。
。在开发工具中查看,以Visual Studio Code为例。
。在记事本中查看。
。在其它文本工具中查看,如NotePad++、EditPlus、UltraEdit、Sublime等。
(条件必选)如果程序文件的字符集编码不是UTF-8,按以下步骤将其改为UTF-8。您可以通过以下任意方式来完成。
在开发工具中更改,以Visual Studio Code为例。
备份文件的内容到其它位置的文件中。
警告更改字符集编码前务必备份文件,防止文件内容发生不可逆的损伤。
单击编码名称。
单击Save with Encoding。
输入或选择UTF-8。
(可选)此时如果文件内容发生乱码,从备份文件中复制内容到此文件中,覆盖原内容。
在记事本中更改。
单击菜单中的
。在编码(E):部分的下拉列表中选择UTF-8,单击保存(S)。
单击是(Y)。
在其它文本工具中更改,如NotePad++、EditPlus、UltraEdit、Sublime等。
网页的字符集编码
数据库的字符集编码
数据库的字符集编码
查看数据库的字符集编码。
SELECT DEFAULT_CHARACTER_SET_NAME, DEFAULT_COLLATION_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = 'your_database_name';
修改数据库的字符集编码。
ALTER DATABASE 'your_database_name' CHARACTER SET 'utf8';
表的字符集编码
查看表的字符集编码
登录DMS中的MySQL数据库。更多信息,请参见通过DMS Web版本登录数据库。
在数据库上单击鼠标右键,单击表详情。
(条件必选)如果表的字符集不是utf8,按以下步骤将其改为utf8。
在数据库上单击鼠标右键,单击查询。
在表上单击鼠标右键,单击编辑表结构。
在字符集下拉选项中选择utf8或utf8mb4。
重要MySQL在5.5.3以上版本才开始支持utf8mb4字符集。
单击保存变更。
字段的字符集编码
一般不会设置字段的字符集编码,它会自动跟随表的字符集编码。若有设置的需要,可参照如下步骤。
在编辑表界面单击列信息。
单击待修改的字符型的列,即可看到当前列所使用的字符集。
说明非字符型不涉及字符集编码。
单击字符集下拉选项框,选择utf8或utf8mb4。
单击保存变更。