Php 为什么在回显变量时替换字符不断出现?
我正在创建一个测试应用程序,并将接受测试的人的姓名以及答案放在一张表上。问题在于输入以下字符时 áéíóúñ 我尝试过一些方法(比如iconv函数),但仍然不起作用Php 为什么在回显变量时替换字符不断出现?,php,html,mysql,Php,Html,Mysql,我正在创建一个测试应用程序,并将接受测试的人的姓名以及答案放在一张表上。问题在于输入以下字符时 áéíóúñ 我尝试过一些方法(比如iconv函数),但仍然不起作用 //A sample of the code require('../connect_db.php'); setlocale(LC_ALL,"es_ES"); mysql_query("SET NAMES 'utf8'"); $sql = "SELECT * FROM database.test"; $r
//A sample of the code
require('../connect_db.php');
setlocale(LC_ALL,"es_ES");
mysql_query("SET NAMES 'utf8'");
$sql = "SELECT *
FROM database.test";
$result = mysql_query($sql) or die (mysql_error());
$row = mysql_fetch_array($result);
$name = utf8decode($row[1]);
echo mb_detect_encoding($name); //Just to test
echo $name;
结果是:
UTF-8G�梅兹
编辑:问题不在数据库上。我已经用这些字符手动输入了姓名,没有问题,所以必须是代码。已解决 为
$name
赋值时,无需运行第一个utf8decode()
相反,我只是在echo
处调用函数,停止使用不推荐的mysql\u*API。使用mysqli_*或可能的副本