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

本教程将介绍在 MySQL 数据库中保存阿拉伯语数据的处理方法,这篇教程是从别的地方看到的,然后加了一些国外程序员的疑问与解答,希望能对你有所帮助,好了,下面开始学习吧。

在 MySQL 数据库中保存阿拉伯语数据 教程 第1张

问题描述

I have changed the charset of the tables and of the column, i get the arabic text as ???? marks in MYSQL database

here is the design of the table

  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;

When I again fire select query it shows ???? as text?

Can anyone tell me where am i doing wrong?

解决方案

To insert Arabic Data manually into your Phpmyadmin.

First you check either your database , table and column name is utf8 set or not.
If these are not set to utf8 then first you set it then you may insert arabic data into you db table.

YOU MAY CHECK EACH OF THESE BY LOOKING BELOW EXAMPLE.

For Database:

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

For Tables:

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";

For Columns:

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

You may easily set utf8 to your tables if you are using SQLYog.

Just right click on db, table, column name and click on alter option and set to

Database Chartset = utf8
Database Collation = utf8_general_ci .

Just Enjoy ....

好了关于在 MySQL 数据库中保存阿拉伯语数据的教程就到这里就结束了,希望趣模板源码网找到的这篇技术文章能帮助到大家,更多技术教程可以在站内搜索。