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

Cách xử lý đúng ký tự quốc tế trong PHP / MySQL / Apache

Apache

Mã hóa máy chủ phải được đặt hoặc không được đặt hoặc được đặt thành UTF-8. Điều này được thực hiện thông qua chỉ thị AddDefaultCharset của apache. Điều này có thể chuyển đến máy chủ ảo hoặc tệp chung (xem tài liệu).

AddDefaultCharset utf-8

MySql

  • Đặt đối chiếu của cơ sở dữ liệu thành UTF-8
  • Đặt mã hoá kết nối. Nó có thể được thực hiện như ai đó đã nói với mysqli_set_charset hoặc bằng cách gửi nó ngay sau khi kết nối:
    SET NAMES 'utf8' COLLATE 'utf8_unicode_ci'

PHP

1- Bạn nên đặt bộ mã HTML của trang là UTF-8, thông qua thẻ meta trên trang hoặc qua tiêu đề PHP:

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-or-
    header('Content-type: text/html; charset=utf-8');

2- Bạn nên luôn sử dụng phiên bản mb * của các hàm liên quan đến chuỗi, ví dụ:mbstrlen thay vì strlen để lấy độ dài chuỗi của một chuỗi.

Điều này sẽ cho phép bạn có UTF-8 ở mọi nơi, từ các trang đến dữ liệu. Một bài kiểm tra bạn có thể thực hiện:nhấp chuột phải vào bất kỳ đâu trên trang bằng firefox và chọn Hiển thị thông tin trang. Mã hóa hiệu quả được liệt kê trong trang đó.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Giới hạn SQL bằng tổng giá trị của hàng

  2. Node.js trả về kết quả từ truy vấn MySQL

  3. Lưu trữ mật khẩu cho MYSQL trong ứng dụng PHP một cách an toàn

  4. Lỗi PDO:Số tham số không hợp lệ:tham số không được xác định

  5. Sự khác biệt giữa đá quý mysql và mysql2 là gì