在两台计算机的HTML文件中显示数据库结果时出现问题。
因此,在一台计算机上显示如下名称:
SAUL FRANCISCO GARCÃA RODRÃGUEZ
数据库的排序规则为latin1_swedish_ci
,表的排序规则为utf8_general_ci
。
在另一台计算机中它显示如下(我希望它是这样的):
SAUL FRANCISCO GARCÍA RODRÍGUEZ
名称列在<select>
标签中两个浏览器的语言是英语,两个环境中的Html文件相同,所以我认为它与php.ini的charset或编码有关文件
我尝试更改php.ini
中的值,但没有任何变化,我无法在任何地方找到答案。
唯一的区别是结果显示在我想要的地方我安装了WAMP,在另一台计算机上我分别安装了Apache,MySQL和PHP。
很抱歉,如果细节不是很有用,但我不知道我哪里出错了。
P.S。在两个数据库上,数据从MySQL控制台看起来像这样:
SAUL FRANCISCO GARCÃA RODRÃGUEZ
答案 0 :(得分:7)
在这种情况下,编辑php.ini
对你没什么帮助。
数据库的数据整理是什么让您遇到问题?默认情况下,对于新创建的数据库,大多数MySQL安装设置为latin1_swedish_ci
而不是utf8_general_ci
。
更改数据库的排序规则&amp;再试一次。
ALTER DATABASE [name of your database] CHARACTER SET utf8;
如果这是特定的表,则可以更改排序规则:
ALTER TABLE [name of your table] CONVERT TO CHARACTER SET utf8;
如果它是表格中的特定列:
ALTER TABLE [name of your table] MODIFY [name of your column] [other settings] CHARACTER SET utf8 COLLATE utf8_general_ci;
或许您可以导出当前数据库,使用此命令创建新数据库&amp;重新导入数据:
CREATE DATABASE [name of your database] CHARACTER SET utf8 COLLATE utf8_general_ci;
如果您想对计算机上的MySQL安装进行永久性更改,请转到并编辑my.cnf
。以下将整个链设置为UTF-8:
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
collation-server = utf8_unicode_ci
init-connect='SET NAMES utf8'
character-set-server = utf8
答案 1 :(得分:2)
将<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
添加到您的HTML
答案 2 :(得分:2)
您可以设置PHP以将内容输出为UTF-8:
header('Content-Type: text/html; charset=utf-8');
在HTML文档中,您可以通过将其放在页面的HEAD中,向浏览器指定内容为UTF-8:
<meta charset="UTF-8">