如何将阿拉伯语名称存储到`mysql DB`中

时间:2014-01-28 08:52:33

标签: php mysql

如何将阿拉伯语用户名存储到mysql? 。我使用charset =“latin”显示阿拉伯语名称。但是在mysql中打印的是 ??????? 标记。所以我对此没有任何想法请建议我该怎么做?。

<?php
header('content-type:text/html; charset=utf-8');
mysql_connect('localhost','root','');
mysql_select_db('noorbiz');
mysql_query("set names utf8");
list($id,$name)=mysql_fetch_row(mysql_query('SELECT * FROM poll_categories'));
echo $name;
?>


This is Database Table:

CREATE TABLE IF NOT EXISTS `poll_categories` (
  `category_id` tinyint(2) NOT NULL auto_increment,
  `category_name` varchar(50) character set utf8 collate utf8_bin NOT NULL default '',
  PRIMARY KEY  (`category_id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;

INSERT INTO `poll_categories` (`category_id`, `category_name`) VALUES
(1, 'لبنان يا بلد صغير بالقلب كبير'); 

如果在代码上方运行,则显示 ?????? 在mysql中标记&gt;但我希望存储相同的阿拉伯语单词

enter image description here

2 个答案:

答案 0 :(得分:2)

对于阿拉伯语尝试此

  1. 设置MySQL charset:UTF-8 Unicode (utf8)
  2. 设置MySQL连接排序规则:utf8_general_ci
  3. 将数据库和表格排序设置为:utf8_general_ci orutf8_unicode_ci

    mysql_query(“SET NAMES'utf8'”);

    mysql_query('SET CHARACTER SET utf8');
    
  4. http://www.adviesenzo.nl/examples/php_mysql_charset_fix/

答案 1 :(得分:1)

你应该使用utf8_general_ci,你也应该使用这个

mysql_query("set names 'utf8'");
mysql_query("set character_set 'utf8'");

连接到数据库后。顺便说一句,不推荐使用mysql_ *,你应该使用mysqli_ *。