Enregistrer des données en arabe dans la base de données MySQL
j'ai changé le jeu de caractères des tables et de la colonne, j'ai le texte en arabe ???? marques dans la base de données MYSQL
voici le dessin de la 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;
quand je tire à nouveau sur la fonction query qu'elle affiche ???? comme texte?
quelqu'un Peut-il me dire où je fais mal?
5 réponses
pour insérer manuellement des données en arabe dans votre Phpmyadmin.
d'abord , vous cochez soit votre base de données, le nom de la table et la colonne est utf8 ou non. Si ceux-ci ne sont pas définis à utf8 alors vous le définissez d'abord puis vous pouvez insérer des données arabes dans votre table de db.
VOUS POUVEZ VÉRIFIER CHACUN DE CEUX-CI EN REGARDANT CI-DESSOUS L'EXEMPLE.
Pour La Base De Données:
SELECT default_character_set_name FROM information_schema.SCHEMATA S
WHERE schema_name = "schemaname";
Pour Tableaux:
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";
pour Colonnes:
SELECT character_set_name FROM information_schema.`COLUMNS` C
WHERE table_schema = "schemaname"
AND table_name = "tablename"
AND column_name = "columnname";
vous pouvez facilement définir utf8 à vos tables si vous utilisez SQLYog.
cliquez avec le bouton droit de la souris sur db, table, nom de colonne et cliquez sur l'option alter et réglez à
base de données Chartset = utf8 Collation de la base de données = utf8_general_ci .
De Profiter De ....
pour lire, écrire et trier le texte arabe dans la base de données mysql en utilisant php correctement, assurez-vous que:
-
MySQL charset: UTF-8 Unicode (utf8)
-
connexion MySQL classement:
utf8_general_ci
-
votre base de données et vos collations de tableaux sont définies à:
utf8_general_ci
ouutf8_unicode_ci
ensuite, ajouter ce code votre script php lorsque vous vous connectez à db:
mysql_query("SET NAMES 'utf8'");
mysql_query('SET CHARACTER SET utf8');
nous pouvons convertir la base de données ou la table de db à uft8 supportive avec la requête ci-dessous:
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
Espère que cela aide !
Lire La Suite @
https://kb.mediatemple.net/questions/138/Default+MySQL+caractère+set+et+classement#gs
http://hollyslog.com/technology/how-to-store-arabic-or-hebrew-characters-mysql-database
Modifier les tables de la base des classements types de utf8_general_ci
et aussi les champs de la table classements changement de utf8_general_ci
.
assurez-vous que votre logiciel client utilise aussi UTF-8.
http://dev.mysql.com/doc/refman/5.0/en/charset-connection.html