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中,则会正确获取数据。
感谢您的时间和帮助。祝你有美好的一天!
答案 0 :(得分:0)
解决方案的男孩:
当使用im绑定参数时,我使用utf8_encode
函数获取值。这是一个错误。
我躲在我的影子下。最好的问候