我正在尝试将一些Excel数据移动到MySQL,但遇到编码问题。
我做了什么:
在phpMyAdmin的视图模式下,数据显示正确(它使用utf-8作为charset):
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
当我尝试在我的网页上显示数据时,我得到一个带有问号的哈希。
系统信息
此致,本尼迪克特
我有类似的症状,我的解决方案是补充
'encoding' => 'UTF8'
to config / database.php
我遇到过类似的问题。大多数事情设置正确“开箱即用”,但我只想指出以下我认为有用的东西......我从开发到现场时遇到了这个问题:
您需要具有匹配的数据库编码(要检查的2个项目)以及视图编码。
当然,数据库设置是在数据库中设置的。在我的例子中,使用MySQL工作台,这只是右键单击模式并选择“Alter Schema ...”的情况。从那里我可以选择我想要的编码/校对。
在Cake PHP中,数据库编码在app \ Config \ database.php中设置。您应该确保DATABASE_CONFIG阵列(大约第60行)启用/选择了正确的编码。例如:
'encoding' => 'utf8'
最后,视图需要选择要显示的正确HTML版本。这将从文件app \ Config \ core.php(大约第82行)写入您的模板。
Configure::write('App.encoding', 'UTF-8');
一旦改变了所有三个部分,你应该有一个一致的字符集,因此显示。
希望能帮助任何人仍在寻找这个。
您是否使用mysql设置与UTF-8的连接?
SET NAMES 'UTF-8'
$conn1 = mysqli_connect($this->db_host, $this->db_username, $this->db_password, $this->db_name);
添加此内容
mysqli_set_charset($conn1,"utf8mb4");