Сохранить данные на арабском языке в базе данных 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;
Когда я снова запускаю запрос выбора, он показывает???? как текст?
Может ли кто-нибудь сказать мне, где я делаю неправильно?
Ответы
Ответ 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, убедитесь, что:
-
MySQL charset: UTF-8 Unicode (utf8)
-
utf8_general_ci
соединения MySQL: utf8_general_ci
-
для вашей базы данных и сопоставлений таблиц задано значение: 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
.
![введите описание изображения здесь]()
Ответ 5
Убедитесь, что ваше клиентское программное обеспечение также использует UTF-8.
http://dev.mysql.com/doc/refman/5.0/en/charset-connection.html
Ответ 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