我想知道为什么阿拉伯文本没有存储在数据库中。它更改为其他一些 unicode 格式,例如%$&^%$%^&! #***。
我已将我的列排序规则设为utf8_general_ci。我需要在我的 sql 查询中做一些修改吗?
我的 SQL 查询是:
$query="INSERT INTO blog_tab(blog_details)
VALUES('$blog_details') ";
我想知道为什么阿拉伯文本没有存储在数据库中。它更改为其他一些 unicode 格式,例如%$&^%$%^&! #***。
我已将我的列排序规则设为utf8_general_ci。我需要在我的 sql 查询中做一些修改吗?
我的 SQL 查询是:
$query="INSERT INTO blog_tab(blog_details)
VALUES('$blog_details') ";
创建数据库时,SQL 可能是这样的:
CREATE TABLE IF NOT EXISTS `employees` (
`empid` int(11) NOT NULL,
`empname` varchar(255) NOT NULL,
PRIMARY KEY (`empid`)
) ENGINE=InnoDB ;
或像这样:
CREATE TABLE IF NOT EXISTS `employees` (
`empid` int(11) NOT NULL,
`empname` varchar(255) NOT NULL,
PRIMARY KEY (`empid`)
) ENGINE=InnoDB charset=latin1 ;
尝试更改charset
为utf-8
,如下所示:
CREATE TABLE IF NOT EXISTS `employees` (
`empid` int(11) NOT NULL,
`empname` varchar(255) NOT NULL,
PRIMARY KEY (`empid`)
) ENGINE=InnoDB charset=utf-8 ;
希望这可以帮助!:)
字符集、排序规则和编码似乎是正确的。
在连接到数据库之前添加以下内容应该会有所帮助:
mysql_query("SET NAMES 'utf8'");
mysql_query('SET CHARACTER SET utf8');
http://www.adviesenzo.nl/examples/php_mysql_charset_fix/上的页面包含对您的问题的解释和进一步指导。