一尘不染

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

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;

当我再次触发选择查询时,它显示???? 作为文字?

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


阅读 472

收藏
2020-05-17

共1个答案

一尘不染

手动将阿拉伯数据插入您的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。

只需右键单击数据库,表,列名,然后单击更改选项并设置为

数据库Chartset = utf8数据库排序规则= utf8_general_ci。

享受就好 ....

2020-05-17