私はmysqlテーブルメンバーを持っています。メンバー名にはアラビア語の名前があります。mname 照合セットはutf8_general_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);