Php 阿拉伯语文本未存储在mysql数据库中?

Php 阿拉伯语文本未存储在mysql数据库中?,php,mysql,Php,Mysql,我有一个mysql表成员。 成员名称有阿拉伯名称。mname排序规则设置为utf8\u常规\u ci 当用户输入阿拉伯文名称时,它将作为一些其他字符存储在db表中。但是当我在站点中检索并显示它时,它正确地显示为阿拉伯语文本。为什么不在数据库表中存储为阿拉伯语文本 我试过这个,但只有我得到问号没有阿拉伯语文本 1- MySQL charset: UTF-8 Unicode (utf8) 2- MySQL connection collation: utf8_general_ci 3- your

我有一个mysql表成员。 成员名称有阿拉伯名称。mname排序规则设置为
utf8\u常规\u ci

当用户输入阿拉伯文名称时,它将作为一些其他字符存储在db表中。但是当我在站点中检索并显示它时,它正确地显示为阿拉伯语文本。为什么不在数据库表中存储为阿拉伯语文本

我试过这个,但只有我得到问号没有阿拉伯语文本

1- MySQL charset: UTF-8 Unicode (utf8)

2- MySQL connection collation: utf8_general_ci

3- your database and table collations are set to: utf8_general_ci or utf8_unicode_ci

Then, add this code in your php script when you connect to db:

mysql_query("SET NAMES 'utf8'"); mysql_query('SET CHARACTER SET utf8');
Php代码:

使用简单的php

$mname = $_POST['mname'];
$email = $_POST['email'];
$password = $_POST['password'];
$gender = $_POST['gender'];
$age = $_POST['age'];
$city = $_POST['city'];
$country = $_POST['country'];



$query="insert into member (mname, email, password, gender, age, city, country) values ('$mname','$email','$password', '$gender', '$age','$city','$country')";
mysql_query("SET NAMES 'utf8'"); 
mysql_query('SET CHARACTER SET utf8');
mysql_query($query);

这可能是设置元标记的问题

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
有关详细信息:


如果我能为您提供更多帮助,请告诉我。

也许您看到这些“其他字符”的工具使用了错误的编码?
…它在db表中存储为其他字符…
您怎么知道的?你在使用类似phpMyAdmin的东西吗?你是如何检查表的内容的?我应该在哪里设置这些可能的重复(1)-MySQL字符集:UTF-8 Unicode(utf8)(2)-MySQL连接排序规则:utf8\u general\u ci???你可以使用php和MySQL进行设置,你可以找到相同的语法。@liyakat我不明白。在'member'表'mname'中,排序规则设置为utf8\u general\u ci。它在网页中正确显示mname。这显示了阿拉伯字符。但问题是在phpmyadmin表中,“mname”字段没有显示阿拉伯字符,而是显示了一些其他字符。。我只用这个。现在告诉我该怎么办???你说的
其他字符是什么意思?可能是十六进制?@AxelAmthor我见过这些魔咒。。。شسب, لاشس, الال باسل
mysql_query("SET NAMES 'utf8'"); mysql_query('SET CHARACTER SET utf8');