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

Mã hóa ký tự Hy Lạp hoạt động trong HTML nhưng không hoạt động trong PHP

Mặc dù nghe có vẻ thực sự kỳ lạ khi dữ liệu mysql của bạn được xuất chính xác khi chuỗi php bị lỗi khi mã hóa, nhưng cách tôi sẽ cố gắng giải quyết vấn đề của bạn là chia vấn đề thành các bước cố gắng xác định nơi tạo ra mã sai này!

Trước hết, bạn nên thử đặt default_charset của mình thành utf-8 trong tệp php.ini, được thực hiện như sau:

default_charset = "utf-8";

Nếu bạn không thể làm điều đó do các hạn chế của nhà cung cấp, bạn vẫn có thể thay đổi giá trị trong thời gian chạy bằng cách sử dụng ini_set chức năng!

Bạn cũng sẽ muốn đảm bảo rằng máy chủ web cũng được đặt để xuất ra các tệp được mã hóa utf-8! Trong Apache, điều này có thể được thực hiện cả trong httpd.conf hoặc sử dụng tệp htaccess:

AddDefaultCharset UTF-8

Tại thời điểm này nếu mọi thứ không thành công, vẫn ... hãy thử sử dụng tiêu đề php và bộ mã html tương đối:

<?php header("content-type: text/html;charset=utf-8") ?>
<!doctype>
<html>
    <head>
        <meta charset="utf-8">
    </head>
    <body>
        <?php echo "α β γ δ ε ϝ ϛ ζ η θ ι κ λ μ ν ξ ο π ϟ ϙ ρ σ τ υ φ χ ψ ω ϡ" ?>
    </body>
</html>

Mặc dù vậy, điều rất quan trọng là các tệp của bạn cũng được lưu bằng cách sử dụng mã hóa thích hợp (utf-8 hầu như luôn là lựa chọn tốt hơn, nó giúp ngăn chặn các vấn đề khá nhiều). Nếu bạn đã lưu các tệp có mã hóa khác với utf-8, hãy hủy chúng và tạo các tệp mới từ nội dung cũ của chúng. Đôi khi các trình chỉnh sửa không thực sự có thể chuyển đổi mã hóa đúng cách sau khi tệp được tạo, mặc dù notepad ++ thường làm tốt điều đó; chỉ cần sử dụng converto to không phải mã hóa encode in tính năng!

Nếu nó vẫn không hoạt động, mặc dù tôi hy vọng nó đã hoạt động ngay bây giờ, bạn có thể kiểm tra một số lựa chọn thay thế php khác như mb_detect_encoding , mb_convert_encoding , htmlentities htmlspecialchars để khắc phục sự cố!




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL - Tìm từ hoàn chỉnh trong văn bản

  2. Triển khai cấu trúc dữ liệu phân cấp trong cơ sở dữ liệu

  3. Bảng MySQL -> Bạn có thể trả lại cùng một hàng nhiều lần, trong cùng một truy vấn không?

  4. Các kết quả khác nhau trong sqlfiddle.com 5.5.30 và MariaDB 5.5.31

  5. Mysql int (11) số nằm ngoài phạm vi