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.