php - 如何从远程服务器上的MySql数据库获取本地字符

标签 php mysql

我正在尝试从 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/

相关文章:

php - 如何通过 PHP IMAP 从 Gmail 服务器读取电子邮件

php - 如何快速执行多个mysql查询

mysql - 从MySql读取utf-8字符到C变量中

mysql - 如何在 MySQL 的 WHERE 子句中使用子查询表别名

MySQL:存储函数不接受 View 字段中的 null

php - 在查询中链接两个表

php - 如何使用 ZF 在身份验证适配器中添加凭据列

php - 使用数字键的 Reflection::getProperties() 的奇怪行为

mysql - 有没有命令可以查看哪些 mysql 数据库已复制到从属数据库?

mysql - 在存储过程中循环准备语句查询的结果