如何在MySQL中插入阿拉伯字母

3

我已经在网上寻找了很久,试图找到有关通过HTML和PHP将阿拉伯字母插入MySQL的单一教程。

我的HTML页面看起来像这样

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

我的php页面如下所示:
// Connects to your Database 
mysql_connect("localhost", "root", "") or die(mysql_error()); 
mysql_select_db("castt") or die(mysql_error()); 
mysql_query("SET NAMES 'cp1256'"); 
mysql_query('SET CHARACTER SET cp1256'); 

当我浏览MySQL数据库时,出现了“?????”的情况。有什么建议吗?
3个回答

6
你的数据库使用了cp1256编码,而你声明输出为UTF-8编码,这是不可行的。
cp1256替换为UTF8可能会有所帮助。

但正如我上面提到的,我已经尝试了您的建议,但它没有起作用。谢谢回复。 - Rayan Sp
发生了什么事?你得到了哪些字符? - Pekka
你的数据库使用了哪种排序规则? - Pekka

4
我已经通过添加来解决了这个问题。
mysql_query("set character_set_server='utf8'");
mysql_query("set names 'utf8'");

连接建立后立即执行。

3
I am ready to assist you in translating the text you provided. Here is the translated content:

我很高兴它正在运作中....... :) 让我向您展示代码。

第一步:创建数据库表

CREATE TABLE `language_messages` (
  `lang_id` int(11) NOT NULL auto_increment,
  `en` varchar(500) NOT NULL,
  `ar` varchar(500) NOT NULL,
  PRIMARY KEY  (`lang_id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=8 ;

INSERT INTO `language_messages` VALUES (1, 'About Us', 'من نحن');
INSERT INTO `language_messages` VALUES (2, 'Contact Us', ' تواصل معنا ');
INSERT INTO `language_messages` VALUES (5, '', 'శ్రీనివాస్ తామాడా');

步骤二:创建连接

$conn=mysql_connect(HOST,DB_USER,DB_PASS) or die(mysql_error());
$db=mysql_select_db(DB_NAME,$conn) or die(mysql_error());
mysql_query("set character_set_server='utf8'");
mysql_query("set names 'utf8'");

步骤三:在HTML页面中查看输出

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!--<html  dir="rtl" lang="ar" xml:lang="ar" xmlns="http://www.w3.org/1999/xhtml">-->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
</head>

<body>

<?php 

$sql = "select * from language_messages";
$res = mysql_query($sql) or die(mysql_error());
while($row = mysql_fetch_array($res))
{
        echo"<br />". $row['en'];   
        echo"<br />". $row['ar'];   
    }

?>
</body>
</html>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接