0

我想知道为什么阿拉伯文本没有存储在数据库中。它更改为其他一些 unicode 格式,例如%$&^%$%^&! #***。

我已将我的列排序规则设为utf8_general_ci。我需要在我的 sql 查询中做一些修改吗?

我的 SQL 查询是:

$query="INSERT INTO blog_tab(blog_details) 
    VALUES('$blog_details') ";
4

2 回答 2

0

创建数据库时,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 ;

尝试更改charsetutf-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 ;

希望这可以帮助!:)

于 2012-06-06T12:16:24.903 回答
0

字符集、排序规则和编码似乎是正确的。

在连接到数据库之前添加以下内容应该会有所帮助:

mysql_query("SET NAMES 'utf8'"); 
mysql_query('SET CHARACTER SET utf8');

http://www.adviesenzo.nl/examples/php_mysql_charset_fix/上的页面包含对您的问题的解释和进一步指导。

于 2012-06-06T12:15:32.940 回答