我在将 UTF-8 名称写入 MySQL 数据库时遇到问题……这就是我所拥有的。
PHP页头有....
<meta charset="utf-8">
MySQL 列是:Char (80) with utf8_unicode_ci
(这些最初是 latin1...我已将它们更改为 UTF-8,截断数据库,然后重新运行代码)
变量回显到屏幕:Germán Mera
但将其写入数据库Germán Mera
我尝试放置utf8_encode();
变量,但随后它写入数据库为:Germán Mera
和屏幕为Germán Mera
(我知道该命令仅适用于 iso-8859-1 ..我认为 JSON 页面已经是 UTF-8)
这是我用来获取名称的代码摘录(为简单起见,我只显示相关代码 - 我知道下面显示的内容不安全)
$str = file_get_contents('http://fantasy.mlssoccer.com/web/api/elements/647/');
$jsonarray = json_decode($str, true);
$name = $jsonarray['web_name'];
mysqli_query ($con, "INSERT INTO mlsprices (name) VALUES ('$name')");
知道如何让它正确写入数据库吗?当我搜索时,我只会得到相当复杂的答案(例如this),而且肯定有更简单的方法。