09/10/2018, 17:48

[Q] thắc mắc về SQl Server, ASP, Unicode

các bạn ơi cho mình hỏi về vấn đề này, mình đang viết ứng dụng web với SQL Server , mà mình sử dụng unicode
mình có 1 table PhongBan như sau
MaPB (int, ID)
TenPB (nvarchar)
mình dùng asp để truy xuất dữ liệu
(mình khai báo và nó đã hiển thị đầy đủ dữ liệu) nhưng nội dung thì toàn là thứ gì đâu. vd: Kế toán thì nó hiển thị Ke? TOA?n
cho mình hỏi trong trang asp thì cần quy định font ra sau
và khi mình insert dữ liệu cũng bị lỗi tương tự
mong nhận được hồi âm gấp
White_Rose viết 19:53 ngày 09/10/2018
File ASP bạn viết như sau:
<%@CODEPAGE=65001%>
<%Session.Codepage = 65001

' Code của bạn
%>

Dữ liệu HTML xuất ra bạn nhớ chèn thêm

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
Khanh Ngan viết 20:01 ngày 09/10/2018
cám ơn bạn đã chỉ mình nhưng còn kiểm tra , và insert dữ liệu thì sao : nếu dữ liệu cần insert có hay chưa có nó đều insert vào mà trướ khin insert mình đã kiểm tra
White_Rose viết 19:53 ngày 09/10/2018
Mình khôgn rõ câu "nó đều insert dù dữ liệu có hay chưa". Nếu bạn cần kiểm tra thì trước khi insert hay select thử xem nó có hay chưa rồi hãy thêm vào.
SELECT [any_field] FROM [any_table] WHERE [your_condition]
Sau khi lấy ra rồi thì kiểm tra
If rs.EOF then
'Có thể thêm vì khôgn có dữ liệu
INSERT INTO [any_table] ([any_field) VALUES ([any_value])
Else
'Đã có dữ liệu, không thêm
End If

Còn nếu ý bạn là insert dữ liệu Unicode vào trong SQL Server thì hay thêm N vào đầu. Ví dụ như sau:
strSql = "INSERT INTO Member ( username , password ) VALUES ( N'Hồng Vân' , '123456' )"
Khanh Ngan viết 19:56 ngày 09/10/2018
cám ơn nhiều về câu trả lới của bạn
quydaica viết 19:59 ngày 09/10/2018
Bạn nên gõ thêm <% Response.Charset="UTF-8" % > vào đầu phần code ASP thì khi lấy dữ liệu đưa ra web theo như <%Response.Write rs("Tên trường") %> sẽ hiện thị đầy đủ Tiếng Việt Unicode nếu DB đã nhâp là UTF-8.
Fun
Bài liên quan
0