我无法理解什么问题。我用php和utf-8问题将数据写入mysql
以 HTML 形式编写 Bin?q?dir。Çiç?kq?s
写入数据库Bin?q?dir。×
当我mysqli_set_charset($conn,"utf8");在插入和更新查询中使用时
写入数据库Bin?q?dir。Çiç?kq?s
手动将数据直接写入数据库并mysqli_set_charset($conn,"utf8");在选择中使用 正常工作。
我该如何解决?使用 UTF-8插入和更新。这是我的插入代码
public function insert($sql) {
$conn = new mysqli(DB_HOSTNAME, DB_USERNAME, DB_PASSWORD, DB_DATABASE);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
mysqli_set_charset($conn,"utf8");
// $conn->set_charset("utf8"); use same this.
if ($conn->query($sql) === TRUE) {
return 1;
} else {
return 0;
}
$conn->close();
}
Run Code Online (Sandbox Code Playgroud)
注意:此问题在 Linux 和 OSX 上。在 windows 工作货物。我该如何修复它以用于 linux 托管?
小智 5
尝试
AddDefaultCharset utf-8
Run Code Online (Sandbox Code Playgroud)
在你的 apache 配置中
或者在你的 php 文件中使用
header( 'content-type: text/html; charset=utf-8' );
Run Code Online (Sandbox Code Playgroud)
并尝试
default_charset = "utf-8";
Run Code Online (Sandbox Code Playgroud)
在你的 php.ini
你也可以试试
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
character-set-client-handshake = false #force encoding to uft8
character-set-server=utf8
collation-server=utf8_general_ci
[mysqld_safe]
default-character-set=utf8
Run Code Online (Sandbox Code Playgroud)
在您的 my.ini 中并重新启动 mysql 恶魔