web-dev-qa-db-ja.com

MySQLデータベースにアラビア語でデータを保存する

テーブルと列の文字セットを変更しました。アラビア語のテキストは???? MYSQLデータベースのマーク

こちらがテーブルのデザインです

  CREATE DATABASE mydb
  DEFAULT CHARACTER SET utf8
  DEFAULT COLLATE utf8_general_ci;


   CREATE TABLE `categories` (                        
   `category_id` tinyint(2) NOT NULL auto_increment,           
   `category_name` varchar(50)character set utf8 NOT NULL ,  
   PRIMARY KEY  (`category_id`) 


   insert into `mydb`.`categories` 
    (`category_id`, `category_name`)
    values (1,'کتگوری');
   commit;

選択クエリを再度実行すると、????テキストとして?

誰が私が間違っているのか教えてもらえますか?

28
Romani

アラビア語データをPhpmyadminに手動で挿入するには。

まず、データベース、テーブル、および列の名前がutf8に設定されているかどうかを確認します。これらがutf8に設定されていない場合、最初に設定してから、アラビア語のデータをdbテーブルに挿入できます。

以下を参照して、これらを確認することができます。

データベースの場合:

SELECT default_character_set_name FROM information_schema.SCHEMATA S
WHERE schema_name = "schemaname";

テーブルの場合:

SELECT CCSA.character_set_name FROM information_schema.`TABLES` T,
       information_schema.`COLLATION_CHARACTER_SET_APPLICABILITY` CCSA
WHERE CCSA.collation_name = T.table_collation
  AND T.table_schema = "schemaname"
  AND T.table_name = "tablename";

列の場合:

SELECT character_set_name FROM information_schema.`COLUMNS` C
WHERE table_schema = "schemaname"
  AND table_name = "tablename"
  AND column_name = "columnname";

SQLYogを使用している場合は、テーブルにutf8を簡単に設定できます。

Db、テーブル、列名を右クリックし、alterオプションをクリックして、

データベースチャートセット= utf8データベース照合= utf8_general_ci.

ただ楽しんで ....

Phpを使用してmysqlデータベース内のアラビア語テキストを正しく読み取り、書き込み、ソートするには、次のことを確認してください。

  1. MySQL文字セット:UTF-8 Unicode(utf8)

  2. MySQL接続の照合:utf8_general_ci

  3. データベースとテーブルの照合は次のように設定されます:utf8_general_ciまたはutf8_unicode_ci

次に、dbに接続するときに、phpスクリプトに次のコードを追加します。

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

詳細

20
Adel Bachene

以下のクエリを使用して、データベースまたはdbテーブルをuft8サポートに変換できます。

ALTER DATABASE dbname CHARACTER SET utf8 COLLATE utf8_general_ci;

ALTER TABLE tablename CHARACTER SET utf8 COLLATE utf8_general_ci;

ALTER TABLE columnname DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci

それが役に立てば幸い !

続きを読む @

https://kb.mediatemple.net/questions/138/Default+MySQL+character+set+and+collat​​ion#gs

http://hollyslog.com/technology/how-to-store-arabic-or-hebrew-characters-mysql-database

10
Aditya P Bhatt

データベーステーブルの照合順序の種類をutf8_general_ciに変更し、テーブルフィールドの照合順序もutf8_general_ciに変更します。

enter image description here

4
Nadeem Ijaz

クライアントソフトウェアもUTF-8を使用していることを確認してください。

http://dev.mysql.com/doc/refman/5.0/en/charset-connection.html

3
sw0x2A

このコードを試してください:

$conn = new mysqli($server,$username,$password,$dbname);
$conn->set_charset("UTF8");
1
Waseem Khalid
CREATE TABLE mydb.categories         
(category_id tinyint(2) NOT NULL AUTO_INCREMENT
,category_name MEDIUMTEXT NOT NULL
,PRIMARY KEY (category_id)) DEFAULT CHARACTER SET utf8
0
user6121713