猿问

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

我不是新的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()


数据库具有utf8_czech_ci编码,当我尝试将其更改为Windows-1251或拉丁语时..它无济于事。


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


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


感谢您的时间和帮助。祝你今天过得愉快!


慕标5832272
浏览 222回答 1
1回答

侃侃尔雅

当我绑定参数时,我使用utf8_encode函数作为值。那是一个错误。
随时随地看视频慕课网APP
我要回答