09/10/2018, 17:38

tại sao khi load CSDL từ access ra thì TV k0 hiện được (asp))

các bạn cho mình hỏi với, trong CSDL thì mình nhập vào bằng TV với mã UNICODE, nhưng khi load ra web thì TV kô hiển thị được, tất nhiên là vùng load ra mình đã set font arial or timenewsroman..., or tomaho nhưng đều không được, help...
Cám ơn nhiều nhé
White_Rose viết 19:45 ngày 09/10/2018
bạn thử cho cái này ở đầu trang <%@ CODEPAGE=65001%>
và tất nhiên có dòng <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> khi xuất ra client.
abcIT viết 19:44 ngày 09/10/2018
"<%@ CODEPAGE=65001%>" Công dụng ở nó đây, bạn giải thích hộ mình được không.
White_Rose viết 19:51 ngày 09/10/2018
nó báo với server rằng bạn sử dụng bảng mã này để xử lý các script (nghĩa là các xâu xử lý sẽ đưọc hiểu là dạng UTF-8.
Ở đây là cách mà server xử lý chứ không phải định dạng mà nó xuất ra.
abcIT viết 19:47 ngày 09/10/2018
mình chưa hiểu rõ, trên server xử lý các scirp theo chuẩn UniCode thì mình nghĩ nó không ảnh hưởng gì đến khâu xuất ra client, vì nó xuất ra client thì phải lấy nguyên định dạng trong CSDL thì việc gì phải thông báo cho server biết sử lý các script theo chuẩn nào. Ví dụ như bạn nhập vào CSDL thông qua 1 text box, khi bạn load ra thì đâu cần phải dòng thông báo đó cho server. Thanks
blackface viết 19:42 ngày 09/10/2018
Em chả biết làm sao khi em cập nhật database access bằng tiếng Hoa, tiếng Hàn, tiếng Nga khi xuất ra nó cũng chạy ráo trọi. Mà charset của em hổng phải UTF-8 đâu các bác ôi.
White_Rose viết 19:49 ngày 09/10/2018
thế này nhá:
chẳng hạn bần xử lý xâu như sau:
s = "Đây là mã UTF-8"
nhưng server lại xử lý theo dạng ASCII bình thường -> cái xâu "Đây là mã UTF-8" bị đổi thành "?ây là m? UTF-8"
Khi xuất ra client thì nó lại được chuyển thành UTF-8 --> xâu ở dạng ASCII bình thường là hợp lệ --> nó sẽ là "?ây là m? UTF-8" vì mọi thông tin về xâu cũ không còn.
Đấy là mình ví dụ thế còn thực thế thì nó không phải là dấu ? (nó là cái kí tự khỉ gió gì ý, mình không đọc được vì nó ngoằn ngoèo quá :o )
White_Rose viết 19:51 ngày 09/10/2018
To blackface: định dạng mặc định của server là UTF-8 sẵn rồi thì sao? Hồi trước cái localhost (trên XP) của mình cũng vậy, hiển thị ngon ơ. Upload lên brinkster thì hiện ra tiếng Mán. Mãi đến khi thiết lập CODEPAGE nó mới chạy đúng cho đấy, hic.

--> nói thêm là chỉ với các xâu tự định nghĩa trong script thôi. Còn dữ liệu với CSDL thì vấn hiện đúng --> đến bi giờ cũng chỉ phỏng đoán như trên chứ mình vẫn chưa rõ bản chất.
aspnet viết 19:47 ngày 09/10/2018
Bạn đang dùng Access 97 or hơn ???
blackface viết 19:55 ngày 09/10/2018
Vần đề là tui không lưu đữ liệu dưới dạng chữ có dấu mà sử dụng code như sau: &#[code]; nên khi hiển thị thì có thể hiển thị toàn bộ bảng unicode mà không cần phải thiết lập lại charset.

Tất nhiên là có hơi tốn chút của nả nhưng mà ai mà biết là tốn hơn bao nhiêu
Bài liên quan
0