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

Vấn đề mã hóa UTF8 - Với các ví dụ điển hình

Đây có thể là công việc cho mb_detect_encoding() chức năng.

Theo kinh nghiệm hạn chế của tôi về nó, nó không đáng tin cậy 100% khi được sử dụng làm "trình đánh giá mã hóa" chung - Nó kiểm tra sự hiện diện của các ký tự và giá trị byte nhất định để đưa ra một phỏng đoán có học - nhưng trong trường hợp hẹp này (nó sẽ cần chỉ phân biệt giữa UTF-8 và ISO-8859-1) nó nên làm việc.

<?php
$text = $entity['Entity']['title'];

echo 'Original : ', $text."<br />";
$enc = mb_detect_encoding($text, "UTF-8,ISO-8859-1");

echo 'Detected encoding '.$enc."<br />";

echo 'Fixed result: '.iconv($enc, "UTF-8", $text)."<br />";

?>

bạn có thể nhận được kết quả không chính xác cho các chuỗi không chứa các ký tự đặc biệt, nhưng đó không phải là vấn đề.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL / Hibernate - Làm cách nào để gỡ lỗi một kết nối gộp MySQL liên tục bị rớt?

  2. Thay đổi thủ tục lưu trữ MySQL tên 'Đối chiếu cơ sở dữ liệu'

  3. Cách tải lên nhiều hình ảnh bằng codeigniter

  4. PDO SQL-state 00000 nhưng vẫn bị lỗi?

  5. Lĩnh vực tốt nhất để lưu trữ sinh nhật là gì?