问题:外来字符未按应有的方式显示。这包括德语、日语、俄语和除英语之外的所有其他语言(完美运行)。 PHP 通过 jQuery AJAX 调用调用 MySQL,它应该返回信息并将其显示在页面上。数据被调用并显示。然而,对于非英语字符,结果显示为“?”。
在 phpMyAdmin 中,数据显示应该是日语、德语等。但是从 MySQL 获取的数据不会被返回。
该问题不是由浏览器引起的,因为我的浏览器支持所有语言编码。
MySQL 编码:UTF8_GENERAL_CI
页面编码:UTF-8
<meta charset="utf-8" />
问题可能出在 PHP 从 MySQL 获取数据时,因为通过 phpMyAdmin 查看 MySQL 数据似乎没问题。下面是用于从 MySQL 获取这些数据的代码。除非编码必须包含在该文件中。
view.php(从 MySQL 获取所需数据可能是编码问题返回的原因???)
$q = mysql_query("SELECT * FROM `notice` WHERE nid = '".$nid."'");
$a = mysql_fetch_array($q);
$nid = stripslashes($a['nid']);
$note = stripslashes($a['note']);
$type = stripslashes($a['type']);
$private = stripslashes($a['private']);
$date = stripslashes($a['date']);
$author = stripslashes($a['author'])
;
附言。编辑得更清楚。
您很可能需要设置数据库的字符集联系为 UTF-8。
如何执行此操作取决于您使用的数据库。
在旧的 mySQL 库中,它将是
mysql_query("SET NAMES utf8");
(mySQL 5.0.7 之前的版本)和
mysql_set_charset("utf8");
适用于 mySQL 5.0.7 及更高版本。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)