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

Có gì sai khi sử dụng windows-1252 thay vì UTF-8

Windows 1252 là một trong nhiều bộ ký tự có kích thước cố định. Mac có bộ riêng của nó. có một số ISO cho các khu vực khác nhau của Châu Âu và cho một số khu vực khác trên thế giới. Hầu hết chúng có các biến thể nhỏ.

Điểm tốt là bạn có một ký tự có kích thước cố định, nghĩa là 1 ký tự =1 byte không có vấn đề gì.

Điểm xấu là:

  • Một số người có thể chưa cài đặt mã hóa của bạn
  • Một số người có thể sử dụng một kiểu mã hóa hơi khác, dẫn đến rất ít vấn đề, không rõ ràng để nhìn thấy, nhưng rất xấu về lâu dài
  • Bạn chỉ có thể hỗ trợ một số ngôn ngữ

Điều đó bao gồm bất kỳ trích dẫn nào bạn muốn thực hiện. Trong windows-1252, bạn không thể hiển thị tiếng Nga, Hy Lạp, đánh bóng ...

UTF-8 là mã hóa tiêu chuẩn cho biểu diễn unicode trên 1+ byte. Nó có thể đại diện cho phần lớn các ký tự mà bạn có thể gặp phải, mặc dù nó được thiết kế cho các ngôn ngữ dựa trên latin, vì các ngôn ngữ khác chiếm nhiều dung lượng lưu trữ hơn.

Nó được sử dụng trong XML, JSON và hầu hết các loại dịch vụ web mà bạn có thể tìm thấy. Đó là một mặc định tốt khi bạn không biết mã hóa để sử dụng. Nó cho phép giới hạn số lượng các vấn đề mã hóa, chẳng hạn như "Tôi mặc dù bạn đang ở Latin-1 / Không, tôi đã sử dụng latin-9, nhưng sau đó anh chàng này trên mac đã sử dụng Roman". Nếu bạn có nhiều hơn 1 người làm việc trên nội dung của trang web, họ có thể có các mã hóa khác nhau trên plateforme của họ và do đó, nội dung của bạn có thể bị rối vào một lúc nào đó.

UTF-8, theo như tôi biết, là cách duy nhất để dễ dàng chuẩn hóa mã hóa được sử dụng giữa mọi người mà không cần thảo luận.

Ví dụ điển hình là, nếu trang web của bạn được mã hóa trong windows1252 và nhà phát triển mới có máy mac, bạn có thể gặp rắc rối.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Truy vấn mối quan hệ Khoá ngoại của Bảng

  2. Sử dụng chế độ xem không có khóa chính với Thực thể

  3. Lấy tên của thủ tục hoặc hàm gọi trong Oracle PL / SQL

  4. Cần tìm thời gian xử lý trung bình giữa tất cả các bản ghi dấu thời gian trong Oracle SQL

  5. đã thực thi một thủ tục được lưu trữ oracle từ máy chủ sql bằng cách sử dụng hàm truy vấn mở