我不是新的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中,则会正确获取数据。
感谢您的时间和帮助。祝你今天过得愉快!
侃侃尔雅