PHP PDO->捷克语言的SQL错误编码

时间:2019-04-08 14:41:53

标签: php pdo

im在php编码中不是新手,并且有问题。我需要将数据插入sql(捷克语言编码)。

我想输入以下字符串:+ěščřžýáíéůú 我的数据库输出是:+ì¹èø¾ýáíéùú

因此,我正在尝试以下解决方案:

1)我的config.php有一个:

header('Content-Type: text/html; charset=utf-8');
ini_set("default_charset", 'utf-8');

2)在页面顶部是此元标记:

 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
 <meta charset="utf-8" />

3)当即时通讯连接到数据库时,即时通讯使用:

 @define("DB_Connect_Charset", "utf8");    
 $dsn = 'mysql:dbname='.DB_Connect_Database.';host='.DB_Connect_Hostname.';charset='.DB_Connect_Charset;

+

$this->pdo = new PDO($dsn, DB_Connect_Username, DB_Connect_Password, array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES ".DB_Connect_Charset));

我正在尝试一些PHP函数,例如:iconv OR mb_convert_encode()

当我试图将其更改为Windows-1251或拉丁语时,数据库具有utf8_czech_ci编码。.它没有帮助。

我花了很多时间在stackoverflow上,但找不到有关此问题的解决方案,有些问题将被SET NAMES UTF8删除。

在将数据发送到SQL时,问题一定是部分原因,因为如果将数据手动输入到sql中,则会正确获取数据。

感谢您的时间和帮助。祝你有美好的一天!

1 个答案:

答案 0 :(得分:0)

解决方案的男孩:

当使用im绑定参数时,我使用utf8_encode函数获取值。这是一个错误。

我躲在我的影子下。最好的问候