Подтвердить что ты не робот

Сохранить данные на арабском языке в базе данных 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;

Когда я снова запускаю запрос выбора, он показывает???? как текст?

Может ли кто-нибудь сказать мне, где я делаю неправильно?

4b9b3361

Ответ 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";

Вы можете легко установить utf8 в свои таблицы, если используете SQLYog.

Просто щелкните правой кнопкой мыши по имени db, таблице, имени столбца и щелкните по опции alter и установите

База данных Chartset = utf8 Database Collation = utf8_general_ci.

Просто наслаждайся...

Ответ 2

Чтобы правильно читать, писать и сортировать арабский текст в базе данных mysql с помощью php, убедитесь, что:

  1. MySQL charset: UTF-8 Unicode (utf8)

  2. utf8_general_ci соединения MySQL: utf8_general_ci

  3. для вашей базы данных и сопоставлений таблиц задано значение: utf8_general_ci или utf8_unicode_ci

Затем добавьте этот код в ваш скрипт php при подключении к db:

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

Больше подробностей

Ответ 3

Мы можем преобразовать базу данных или таблицу базы данных в поддержку uft8 с помощью следующего запроса:

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

Надеюсь, поможет !

Прочитайте больше @

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

Ответ 4

Измените типы сортировки таблиц базы данных на utf8_general_ci, а также сопоставления полей таблицы измените на utf8_general_ci.

введите описание изображения здесь

Ответ 6

Попробуйте этот код:

$conn = new mysqli($server,$username,$password,$dbname);
$conn->set_charset("UTF8");

Ответ 7

CREATE TABLE mydb.categories         
(category_id tinyint(2) NOT NULL AUTO_INCREMENT
,category_name MEDIUMTEXT NOT NULL
,PRIMARY KEY (category_id)) DEFAULT CHARACTER SET utf8