PDA

View Full Version : Show Unicode trong Access len Web page



lenhan
09-08-2002, 11:52
Cac ban nao biet chi dum minh cach hien thi Unicode tu Access len Web Page . thanks

White_Rose
09-08-2002, 13:59
dùng thẻ này
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
để hiển thị tiếng việt theo UTF-8
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
hiển thị theo bảng mã Western European (Windows)
.....

lenhan
09-08-2002, 16:23
Cam on ban White_Rose da giup do.
Nhung ton van khong the nao hien thi duoc Unicode lay tu Access.

Nhu ban da huong dan thi chi co the hien thi Unicode khi type truc tiep tren trang do thoi.
Con khi doc du lieu tu Database (VD:Access) thi van khong hien thi duoc. (Dung Asp de lay du lieu Unicode tu Access)

White_Rose
09-08-2002, 17:20
Thế thỉ đổi luôn cả bảng mã mà server xử lý dữ liệu. Ở đầu trang asp bạn thêm dòng này vào
<%@ CODEPAGE=65001 %>
Có lẽ nó chỉ có tác dụng với dữ liệu bạn nhập sau này

nomoretears
09-08-2002, 21:01
Bạn phải sử dụng một method của object Server để convert Unicode (trong Access) thành dạng HTML unicode "&***x;". Tôi không nhớ rõ tên method. Nếu cần thiết thì mail cho tôi tại naive@programmer.net. Tôi sẽ trả lời bạn cụ thể (sau khi đã xem lại project code hồi xưa :-) ...

White_Rose
10-08-2002, 00:11
Hoàn toàn không cần thiết phải đưa ra dạng "&***x;" đâu.

nomoretears
10-08-2002, 12:46
Nếu không sử dụng dạng "&***x;" thì bạn phải set trang HTML trả về là dạng Unicode.

Tôi vẫn sử dụng cách này :

<%
Response.Write Server.HTMLEncode(recordset.Field("UnicodeFieldName"))
%>

Sao cũng được...

White_Rose
10-08-2002, 16:57
Nhưng mà lúc đó trang Web sẽ phình ra rất nhanh.
Lúc mình làm một trang lớn thì khi đo ra, kích thước của trang save theo utf-8 nhỏ hơn trang kia những 2,7 lần (chỉ là một ví dụ thôi, không phải trung bình).
Hơn nữa để dạng "******x;" thì xử lý xâu hơi khó:)

nomoretears
11-08-2002, 10:00
Ừm, nhưng đâu phải tất cả content của HTML sẽ được chuyển về dạng "&***x;" đâu mà phình ra đến 2.7 lần như bạn nói. Ta chỉ cần Response.Write Server.HTMLEncode() khi cần display mấy chuỗi unicode thôi mà, còn phần content khác hoàn toàn có thể dùng font 1 byte :)

Còn nếu dùng format utf-8 thì chắc chắn mỗi ký tự là 2 byte. Nếu đồng nhất unicode cho toàn trang thì đồng ý là cách của bạn hiệu quả hơn...

anhteo007
28-06-2003, 16:47
Trang web của mình truy xuất từ Access trong đó dữ liệu được nhập liệu bằng tiếng việt Unicode (dùng Viẹt Key), nhưng hiện thi vẫn tốt như thường,

Bạn thêm dòng sau vao đầu file áp

<@ Language="VBScript" CODEPAGE="1252">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<%

ban muon lam gi o day cung duoc

%>

<

anhteo007
28-06-2003, 16:49
à quên, nếu bạn rảnh thử lên trang web cua mình thử nha,
...để coi unicode được hiển thị ngon lành thế nào