Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да съпоставим нежелани знаци в базата данни на mysql с арабски букви с PHP и MYSQL

Този проблем трябва да бъде решен на по-ранен етап. Арабските знаци не се побират в таблица с база данни, различна от уникод. Това е истинският проблем.

Трябва да използвате Unicode таблици, както и Unicode връзка към вашата MySQL база данни.

Задайте набора от символи по подразбиране на вашата таблица на utf8 и се уверете, че връзката към вашата база данни също използва този набор от символи:

$conn = mysql_connect($server, $username, $password);
mysql_set_charset("UTF8", $conn);

Вижте също:http://nl3.php.net/ manual/en/function.mysql-set-charset.php

Проверете набора от символи на текущата ви връзка с:

echo mysql_client_encoding($conn);

Вижте също:http://nl3.php.net/ manual/en/function.mysql-client-encoding.php

Когато създавате вашите таблици, направете нещо подобно:

create table user (
    // Your table definition
) default charset = UTF8

Ако сте направили тези неща и добавите потребител, който съдържа арабски символ към вашата таблица, ще видите, че се показва правилно. Сега сравнението ще бъде лесно.

Успех!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Предупреждение:mysqli_stmt::bind_param():Броят на променливите не съвпада с броя на параметрите в подготвеното изявление

  2. php PDO::FETCH_CLASS се съпоставя към всички свойства с малки букви вместо camelCase

  3. изберете max() от count()

  4. Използване на utf8mb4 с php и mysql

  5. MySQL дата или PHP час?