我正在尝试从 MySql 数据库中获取本地字符 č ž đ...
。
在本地主机上不存在问题,但在远程服务器上本地字符丢失。
数据库和表排序规则是utf8_general_ci(根据一个答案here)
我的连接:
try {
$db = new PDO('mysql:host='.DBHOST.';dbname='.DBNAME.';charset=utf8_general_ci', DBUSER, DBPASS);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch (PDOException $e) {
echo $e->getMessage();
exit;
}
这里出现错误 - Unknown character set
。仅写入 charset=utf8
错误正在消除,但这对本地字符没有帮助。
编辑.php
include ("menut.php");
SET character_set_client = "utf8"; //line 12
SET character_set_results = "utf8";
SET collation_connection = "utf8_general_ci";
$stmt = $db->prepare("SELECT id, title, content FROM $table WHERE id = :id");
$stmt->execute(array(':id' => $_GET['id']));
$row = $stmt->fetch();
这里我有错误 - Unexpected T String
on line 12 (marked abowe).
任何帮助。
最佳答案
SET character_set_client = "utf8"; //line 12
SET character_set_results = "utf8";
SET collation_connection = "utf8_general_ci";
以上是mysql命令,需要执行查询才能运行这些命令:
$db->query('SET character_set_client = "utf8"');
$db->query('SET character_set_results = "utf8"');
$db->query('SET collation_connection = "utf8_general_ci"');
关于php - 如何从远程服务器上的MySql数据库获取本地字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38137319/