从 MySQL 数据库中获取带有特殊字母的字符串
Posted
技术标签:
【中文标题】从 MySQL 数据库中获取带有特殊字母的字符串【英文标题】:Fetching strings with special alphabet from MySQL database 【发布时间】:2018-04-07 19:00:10 【问题描述】:我有一个 php 变量,它的值是从 html 表单中设置的。 变量的值为
$x = rueFrédéricMistral
如您所见,它有一个特殊的字母表 (e_tilda)。
现在当我回显 x 时,它给了我以下信息:rueFr�d�ricMistral
我不确定如何回显原始名称。
我尝试了函数htmlspecialchars()
,但它不起作用。
在阅读时,我了解到该功能不适合我的情况。
谁能帮帮我。
提前致谢。 尼拉杰
【问题讨论】:
Getting special characters out of a mysql database with PHP的可能重复 php.net/manual/en/function.iconv.php 代码增强 【参考方案1】:至少有 3 个可能的原因:
-
(很可能)您的 html 页面中的字符集定义不正确,请确保您的页面的
<head>
部分中有 <meta charset="utf8"/>
之类的内容
您可能为数据库连接定义了错误的字符集。有关用于连接数据库的函数/库,请参阅文档
(不太可能)数据库内的内容可能会自行损坏,例如由于使用无效字符集进行迁移/插入。
【讨论】:
【参考方案2】:你也可以试试这个
echo htmlentities($x);
你也可以用这个
服务器端
<?php
header('Content-Type: text/html; charset=ISO-8859-1');
?>
客户端
<head>
<meta charset="utf-8">
</head>
<body>
<?php
$x = "rueFrédéricMistral";
echo $x;
?>
</body>
【讨论】:
我试过了,但它不起作用。但是,当我尝试在 javascript 中使用 $x 时,问题就出现了。我在 javascript 中编写了以下代码: var abcd = ; alert(abcd).... 但我在警报消息中得到 null以上是关于从 MySQL 数据库中获取带有特殊字母的字符串的主要内容,如果未能解决你的问题,请参考以下文章