Guardar datos en árabe en la base de datos MySQL

Resuelto Romani asked hace 13 años • 8 respuestas

He cambiado el juego de caracteres de las tablas y de la columna, obtengo el texto árabe como ???? marcas en la base de datos MySQL

Aquí está el diseño de la mesa.

  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;

Cuando vuelvo a activar la consulta de selección, se muestra ???? como texto?

¿Alguien puede decirme dónde estoy haciendo mal?

Romani avatar Jul 28 '11 19:07 Romani
Aceptado

Para insertar datos en árabe manualmente en su Phpmyadmin.

Primero, verifique que el nombre de su base de datos, tabla y columna esté configurado en utf8 o no. Si no están configurados en utf8, primero lo configura y luego puede insertar datos árabes en su tabla de base de datos.

PUEDES VERIFICAR CADA UNO DE ESTOS MIRANDO EL EJEMPLO A CONTINUACIÓN.

Para base de datos:

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

Para mesas:

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

Para columnas:

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

Puede configurar fácilmente utf8 en sus tablas si está utilizando SQLYog.

Simplemente haga clic derecho en db, tabla, nombre de columna y haga clic en la opción modificar y configúrelo en

Conjunto de gráficos de base de datos = utf8 Clasificación de base de datos = utf8_general_ci.

Solo disfruta ....

 avatar Oct 25 '2013 11:10

Para leer, escribir y ordenar texto árabe en la base de datos MySQL usando PHP correctamente, asegúrese de que:

  1. Juego de caracteres MySQL: UTF-8 Unicode (utf8)

  2. Intercalación de conexiones MySQL:utf8_general_ci

  3. su base de datos y las intercalaciones de tablas están configuradas en: utf8_general_cioutf8_unicode_ci

Luego, agregue este código en su script php cuando se conecte a la base de datos:

mysql_query("SET NAMES 'utf8'");
mysql_query('SET CHARACTER SET utf8');

Para más detalles

Adel Bachene avatar Aug 03 '2012 17:08 Adel Bachene