在MySQL数据库中以阿拉伯语保存数据

Rom*_*ani 30 mysql arabic character-encoding

我已经改变了表格和列的字符集,我得到的阿拉伯语文本为???? 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;
Run Code Online (Sandbox Code Playgroud)

当我再次点击选择查询时它会显示???? 作为文字?

谁能告诉我我在哪里做错了?

Riz*_*ani 29

手动将阿拉伯数据插入Phpmyadmin.

首先,检查数据库,表和列名是否设置为utf8.如果这些没有设置为utf8,那么首先你设置它然后你可以将阿拉伯数据插入你的db表.

你可以通过下面的例子来检查每一个.

对于数据库:

SELECT default_character_set_name FROM information_schema.SCHEMATA S
WHERE schema_name = "schemaname";
Run Code Online (Sandbox Code Playgroud)

对于表格:

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";
Run Code Online (Sandbox Code Playgroud)

对于列:

SELECT character_set_name FROM information_schema.`COLUMNS` C
WHERE table_schema = "schemaname"
  AND table_name = "tablename"
  AND column_name = "columnname";
Run Code Online (Sandbox Code Playgroud)

如果使用SQLYog,可以轻松地将utf8设置为表.

只需右键单击db,table,column name,然后单击alter option并设置为

Database Chartset = utf8 Database Collat​​ion = utf8_general_ci.

享受就好 ....


Ade*_*ene 21

要使用php正确读取,编写和排序mysql数据库中的阿拉伯文本,请确保:

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

  2. MySQL连接整理: utf8_general_ci

  3. 您的数据库和表排序规则设置为:utf8_general_ciutf8_unicode_ci

然后,在连接到db时,在PHP脚本中添加此代码:

mysql_query("SET NAMES 'utf8'");
mysql_query('SET CHARACTER SET utf8');
Run Code Online (Sandbox Code Playgroud)

更多细节


Adi*_*att 11

我们可以使用以下查询将数据库或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
Run Code Online (Sandbox Code Playgroud)

希望能帮助到你 !

阅读更多 @

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


小智 5

将数据库表排序规则类型更改为utf8_general_ci,并将表字段排序规则更改为utf8_general_ci

在此输入图像描述