我正在构建一个Mysql数据库,包含小马的所有者和繁殖者的详细信息,以及动物本身的详细信息。信息通过PHP更新和查看。作为其中的一部分,我有列出联系人的页面,以及可以将联系人(通过下拉列表)分配给动物作为所有者或育种者的其他页面。数据库连接在标题中设置(由函数调用),并在每个查询结束时关闭。
我注意到某些字符(例如É)未在联系人下拉列表中正确呈现( ),但在列表页面中没有问题。在查看了此处提出的先前任务(Special characters in PHP / MySQL)后,我将表的排序设置为utf8_bin,并通过
连接到数据库<?php
$con = mysql_connect("localhost", "user", "pass");
mysql_select_db("db", $con);
mysql_set_charset('utf8',$con);
?>
这完全解决了下拉列表问题 - 但列表页面现在导致了问题。 (É现在是‰)。我的浏览器设置为Western ISO-8859-1,但即使将其更改为UTF-8也没有帮助。回应
$charset = mysql_client_encoding($con);
echo "The current character set is: $charset\n";
列表底部的返回uft8,应该如此。我的bam被煮了。
任何建议都非常感谢!
(P.s。期待:语言绝大多数是英语,但有一些爱尔兰盖尔语,也可能是一些法语和德语。我也尝试过所有上述的Latin1编码。)
修改
解决问题:
答案 0 :(得分:0)
我怀疑你以某种方式列出显示代码utf8编码HTML。删除那里的utf8_encode
个电话。
您可能还缺少HTML页面本身的编码声明,这需要告诉浏览器该页面具有特定的字符集。