在MySQL数据库中用阿拉伯语保存数据
我已经改变了表和列的字符集,我得到了阿拉伯文字为? 标记在MYSQL数据库中
这里是桌子的devise
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;
当我再次select查询时,它显示???? 作为文字?
谁能告诉我我在哪里做错了?
将阿拉伯数据手动插入到您的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。
享受就好 ….
要阅读,编写和使用PHP正确的MySQL数据库中的阿拉伯语文本sorting,请确保:
-
MySQL字符集:UTF-8 Unicode(utf8)
-
MySQL连接整理:
utf8_general_ci
-
您的数据库和表sorting规则设置为:
utf8_general_ci
或utf8_unicode_ci
然后,当你连接到数据库时,将这段代码添加到你的php脚本中:
mysql_query("SET NAMES 'utf8'"); mysql_query('SET CHARACTER SET utf8');
更多细节
我们可以通过以下查询将数据库或数据库表转换为uft8支持:
ALTER DATABASE dbname CHARACTER SET utf8 COLLATE utf8_general_ci; ALTER TABLE tablename CHARACTER SET utf8 COLLATE utf8_general_ci; ALTER TABLE `db_table_name` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci
希望它有帮助!
阅读更多 @
https://kb.mediatemple.net/questions/138/Default+MySQL+character+set+and+collation#gs
http://hollyslog.com/technology/how-to-store-arabic-or-hebrew-characters-mysql-database
确保您的客户端软件也使用UTF-8。
http://dev.mysql.com/doc/refman/5.0/en/charset-connection.html
将数据库表归类types更改为utf8_general_ci
并将表字段归类更改为utf8_general_ci
。