Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Tóm tắt quy trình làm việc UTF8 PHP, MySQL

  • mb_internal_encoding('UTF-8') không tự làm bất cứ điều gì, nó chỉ đặt tham số mã hóa mặc định cho mỗi mb_ hàm số. Nếu bạn không sử dụng bất kỳ mb_ nào chức năng, nó không tạo ra bất kỳ sự khác biệt nào. Nếu đúng như vậy, bạn nên đặt nó để không phải chuyển $encoding tham số từng thời điểm riêng lẻ.
  • IMO mb_detect_encoding hầu như vô dụng vì về cơ bản là không thể phát hiện chính xác mã hóa của văn bản không xác định. Bạn nên biết mã hóa một khối văn bản là gì vì bạn có thông số kỹ thuật về nó hoặc bạn cần phân tích cú pháp dữ liệu meta thích hợp như tiêu đề hoặc thẻ meta nơi mã hóa được chỉ định.
  • Sử dụng mb_check_encoding để kiểm tra xem một khối văn bản có hợp lệ trong bảng mã mà bạn mong đợi nó thường đủ hay không. Nếu không, hãy loại bỏ và sửa lỗi thích hợp.
  • Về:

    Nếu bạn đang thao tác các chuỗi có chứa các ký tự nhiều byte thì có, bạn cần sử dụng mb_ các chức năng để tránh nhận được kết quả sai. Các hàm chuỗi cốt lõi chỉ hoạt động ở cấp độ byte, không phải cấp độ ký tự, đây là những gì bạn thường muốn khi làm việc với chuỗi.

  • utf8_general_ci so với utf8_bin chỉ tạo ra sự khác biệt khi đối chiếu , tức là sắp xếp và so sánh các chuỗi. Với utf8_bin dữ liệu được xử lý ở dạng nhị phân, tức là chỉ có dữ liệu giống hệt nhau mới giống hệt nhau. Với utf8_general_ci một số logic được áp dụng, ví dụ:"é" được sắp xếp cùng với "e" và chữ hoa được coi là bằng chữ thường.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Có gì mới trong ProxySQL 2.0

  2. Sử dụng Amazon RDS với ứng dụng Android

  3. Rails `where` với thời gian ít hơn các truy vấn

  4. Cơ sở dữ liệu bị lỗi trong nguồn dữ liệu Jboss

  5. Lưu trữ JSON trong cơ sở dữ liệu so với việc có một cột mới cho mỗi khóa