phpMyAdmin
 sql >> база данни >  >> Database Tools >> phpMyAdmin

Съхраняване на данни MySQL в кюрдски шрифт?

Какво се случи:

  • имахте данни, кодирани в utf8 (добри)
  • SET NAMES latin1 беше в сила (по подразбиране, но погрешно)
  • колоната е декларирана CHARACTER SET latin1 (по подразбиране, но погрешно)

Както сте INSERTed данните бяха преобразувани в latin1, което няма стойности за арабски (кюрдски/фарси/и т.н.) знаци, така че въпросителни знаци ги замениха.

Лечението (за бъдещи INSERTs ):

  • utf8-кодирани данни (добри)
  • mysqli_set_charset('utf8') (или каквото е необходимо на вашия клиент за установяване на CHARACTER SET )
  • проверете дали колоната(ите) и/или таблицата по подразбиране са CHARACTER SET utf8
  • Ако показвате на уеб страница, <meta...utf8> трябва да е близо до върха.

Дискусията по-горе е за CHARACTER SET , кодиране на знаци. Сега за съвет относно COLLATION , който се използва за сравняване и сортиране.

За да проверите отново дали данните се съхраняват правилно, направетеSELECT col, HEX(col)... .
ه‌رچوون трябва да се върне D987E2808CD8B1DA86D988D988D986
Арабските знаци в utf8 имат шестнадесетичен от D8xx или D9xx.

(utf8mb4 работи също толкова добре, колкото utf8; или работи за арабски.)

Лоши новини:Данните, които бяха вмъкнати и превърнати в „???“ не може да бъде възстановен.



  1. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. Мога ли да използвам транзакции с ALTER TABLE?

  2. достъпът е отказан на потребителя след преместване на MySQL база данни на отдалечен сървър

  3. Изберете и покажете всички редове, принадлежащи на конкретен идентификатор

  4. Как да създадете банер в wordpress без помощта на плъгин

  5. как да импортирате данни с разделители в mysql в phpmyadmin