phpMyAdmin
 sql >> Cơ Sở Dữ Liệu >  >> Database Tools >> phpMyAdmin

Lưu trữ dữ liệu MySQL bằng phông chữ Kurd?

Điều gì đã xảy ra:

  • bạn có dữ liệu được mã hóa utf8 (tốt)
  • ĐẶT TÊN Latin1 đã có hiệu lực (mặc định, nhưng sai)
  • cột đã được khai báo CHARACTER SET latin1 (mặc định, nhưng sai)

Khi bạn INSERTed dữ liệu, nó đã được chuyển đổi thành latin1, không có giá trị cho các ký tự tiếng Ả Rập (Kurdish / Farsi / etc), vì vậy dấu chấm hỏi đã thay thế chúng.

Cách chữa (cho INSERTs trong tương lai ):

  • dữ liệu được mã hóa utf8 (tốt)
  • mysqli_set_charset ('utf8') (hoặc bất cứ thứ gì khách hàng của bạn cần để thiết lập BỘ NHÂN VẬT )
  • kiểm tra xem (các) cột và / hoặc mặc định của bảng có phải là CHARACTER SET utf8 không
  • Nếu bạn đang hiển thị trên một trang web, phải ở gần đầu.

Phần thảo luận ở trên là về BỘ NHÂN VẬT , bảng mã của các ký tự. Bây giờ để biết mẹo về COLLATION , được sử dụng để so sánh và sắp xếp.

Để kiểm tra lại xem dữ liệu có được lưu trữ đúng cách hay không, hãy thực hiện SELECT col, HEX (col) ... .
ه‌رچوون nên quay lại D987E2808CD8B1DA86D988D988D986 Các ký tự tiếng Ả Rập
trong utf8 có hex là D8xx hoặc D9xx.

( utf8mb4 hoạt động tốt như utf8 ; hoặc hoạt động cho tiếng Ả Rập.)

Tin xấu:Dữ liệu đã được chèn và biến thành '???' không thể phục hồi.



  1. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. Làm cách nào để chuyển cơ sở dữ liệu mysql của tôi từ phpmyadmin sang cleardb của heroku?

  2. Cập nhật 1 cột từ tệp sao lưu sql

  3. Làm cách nào để biết lựa chọn của người dùng trong bài kiểm tra có đúng không?

  4. phpmyadmin:tạo một hàm

  5. Kết nối với DB đường hầm thông qua phpMyAdmin