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

Tại sao tôi có thể sử dụng một ký tự không phải là một phần của bộ ký tự (windows-1252)?

Bạn không thực sự sử dụng các ký tự bên ngoài trang và bộ ký tự của cơ sở dữ liệu.

Bởi vì trang được mã hóa windows-1252, nếu bạn nhập Alt + 251 vào trường biểu mẫu và sau đó đăng dữ liệu, trình duyệt sẽ thông báo:

"Hey this char is not apart of windows-1252 and I need to only send back data
 which is in windows-1252, so I will do the best I can and send back the 
 html character code of char √  -- oh well, I wish I could send back
 1 character, since I cannot I will send back 7."

Và nếu bạn để ý, đây là 7 ký tự khác nhau trong bộ mã windows-1252.

Nếu trang được mã hóa bằng bộ ký tự nhiều byte, trình duyệt sẽ gửi lại một thứ được coi là 1 ký tự.

Vậy bạn có thể truy vấn nó bằng cách nào?

 select * from tab where field like '%√%'

Những gì bạn có là ký tự html của biểu tượng căn bậc hai: https:// www .google.com / # q =html + ký tự + mã

Cập nhật:

Đây là một bài viết rất hay giải thích những gì đang xảy ra: http://htmlpurifier.org/docs/ enduser-utf8.html

 "...once you start adding characters outside of your encoding... 
 [the browser might] replace the character with a character entity reference...."

Ngoài ra, khi bạn nhập Alt + 251 trên máy windows, nó sẽ chèn ký hiệu căn bậc hai trong Unicode, nó là U-221A.

Nhấn Alt + 251 chỉ giống như một macro bàn phím để chèn Unicode, nó là U-221A.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để kết nối với Cơ sở dữ liệu Oracle trong R?

  2. Làm cách nào để đếm số từ trong một chuỗi trong Oracle?

  3. Bảng truy vấn với danh sách các biến khác nhau bằng cách sử dụng như

  4. Ước tính thời gian tạo chỉ mục trong oracle

  5. CHÈN câu lệnh CHỌN trong Oracle 11G