PDA

View Full Version : Làm sao có thể đưa CSDL Unicode lên web.



truongnx
30-07-2002, 10:25
Tôi đang làm thử một trang web có dùng cơ sở dữ liệu và font unicode. Tôi đã thiết kế xong phan CSDL rùi nhưng khi đưa lên web thì font hiện lên không đúng. chẳng hạn như chử "cổ" khi đưa lên thì nó hiện ra "c?". Xin các bạn chỉ dùm. Thanks nhiều.

oldlight
30-07-2002, 12:04
Bài viết được gửi bởi truongnx
Tôi đang làm thử một trang web có dùng cơ sở dữ liệu và font unicode. Tôi đã thiết kế xong phan CSDL rùi nhưng khi đưa lên web thì font hiện lên không đúng. chẳng hạn như chử "cổ" khi đưa lên thì nó hiện ra "c?". Xin các bạn chỉ dùm. Thanks nhiều.

=> CSDL của bạn sử dụng là gì?
=> Sao không hỏi bác Vi Khoa, Webmaster của trang này?

Thân

ktvnguyenchien
30-07-2002, 16:06
Bạn hãy nói rõ hơn được không? Nghe câu hỏi chung chung quá....

vikhoa
30-07-2002, 23:30
Có 2 vấn đề :

1/ Nếu bạn dùng Vietkey hoặc Unikey, gõ kiểu Unicode thì phải set lại charset là utf-8

2/ Bạn dùng chương trình gì để thiết kế web vậy ? Nếu dùng Dreamweaver thì phải dùng Dreamweaver MX, nếu dùng FrontPage thì ...xem lại điều 1. :)

sexy
30-07-2002, 23:38
Ban ay hoi ve viec hien thi font Unicode tu Co So Du Lieu ma!
Chu khong phai tu text khi type trong DW or FP dau!

truongnx
31-07-2002, 18:09
A`,cơ sở dữ liệu của mình là access 2000.
mình đã chỉnh character set là utf-8 rùi nhưng mà vẫn không được. Không biết là còn phải chỉnh thêm vấn đề gì nữa không. Ai có kinh nghiệm làm rùi xin chỉ dùm.
thanks nhiều.

newcinc
31-07-2002, 23:05
He he, bạn gõ Unicode trực tiếp trong Access 2000, do đó khi bạn xuất ra Web thì nó báo sai, cho dù ông Bill Gate tuyên bố sao đi nữa thì nó vẫn sai.
Mình không rành về Web Scripting nào khác ngoài ASP. Nếu bạn dùng Access với ASP, bạn dùng: Server.HTMLEncode("******X") với ****** là dữ liệu trong database là Okey thôi.... Chắc chắn hiển thị đúng.
Nhưng vấn đề cập nhật từ Web vào Database, rồi truy xuất ra lại thì nên cẩn thận nha...

Hy vọng gãi đúng chỗ ngứa của bạn

vikhoa
31-07-2002, 23:53
CSDL của bạn phải cập nhật bằng web đúng không? (nếu là cập nhật trực tiếp bằng Access thì...không biết).

Mình nghĩ so với MySQL thì cũng chẳng khác gì mấy. Bạn chỉ cần nhớ khai báo type cho phù hợp là được.

Trang web nhập dữ liệu và trang web xuất dữ liệu đều phải có charset là utf-8.

dathao
02-08-2002, 08:26
nếu bạn dùng những cách trên không được thì thử viết một file style có đuôi là chấm .css để qui định những trường mà bạn muốn xuất ra, thử xem (nhưng CSDL fải là Unicode)

cách tạo style trên có thể dùng ASP, Coldfusion, CSS, ...

vikhoa
02-08-2002, 09:33
CSS không liên quan đến vấn đề này. Tạo CSS chỉ cần dùng Notepad là được. ASP và Coldfusion là ngôn ngữ lập trình chứ không phải là tên application.

minhhieu
02-08-2002, 10:56
Theo kinh nghiệm của tôi thì bạn nên cập nhật CSDL(thêm,sửa) bằng web.Nghĩa là bạn tạo một trang html chứa form CSDL.Sau đó tạo file script asp(hoặc PHP,CGI,JSP) để nhận dử liệu từ form này và Insert vào CSDL của bạn.

FLYME-TYME
20-08-2002, 09:18
Mình cũng biết một cách nhỏ nhỏ nhưng chỉ dùng cho PHP & MySQL thôi . Trong tập hàm của PHP có hai hàm utf8 decode & utf8 encode , bạn thử dùng xem .

ChinDangShun
15-09-2002, 01:02
Có 3 vấn đề tất cả:

- Để sử dụng phần HTML Encoding (Tức là các thẻ tĩnh của HTML), bạn dùng tag:
<meta http-equiv="Content-Type" content="text/html charset=utf-8">
trong vùng <head></head> của trang ASP
Tác dụng của nó là khi người ta view trang WEB của bạn, tất cả các thẻ HTML sẽ hiển thị UNICODE. VD: <a>Việt Nam</a> sẽ ra chữ "Việt Nam" chứ không phải là "Vi?t Nam".

- Để trang ASP xử lý các lệnh nhập/xuất, hiển thị bằng UNICODE, bạn phải thêm vào ngay đầu trang ASP dòng sau:
<%@ Codepage=65001 %>
Tác dụng của nó là biến những chữ UNICODE thuần tuý thành UTF-8 để trình duyệt hiển thị UNCODE. VD:
<% = Rs("Country") %> sẽ trả về "Việt Nam" chứ không phải "Vi?t Nam"
<% = "Việt Nam" %> sẽ trả về "Việt Nam" chứ không phải "Vi?t Nam".

- Để bạn có thể nhìn thấy và soạn thảo trang ASP tiếng Việt, cần 1 phần mềm soạn được UTF-8 như MS Word hoặc FP hoặc DWMX hoặc EditPlus hoặc ...
Tác dụng: Nếu không dùng những phần mềm trên, bạn sẽ không thể save được các file asp dưới dạng UTF-8 hoặc save được nhưng open lại thì nó sẽ thành dấu "?" hết trơn !

Vận dụng cả 3 biện pháp trên trong cùng 1 trang ASP mới cho kết quả như mong đợi !

Chúc thành công !

tranquanghoc
20-09-2002, 12:45
Theo như cách của bạn ChinDangShun thì server hosting chương trình đó phải là server có support asp.net có phải không?

ChinDangShun
20-09-2002, 15:22
Bạn tranquanghoc ơi, mình đặt ra 3 điều kiện để 1 trang web sử dụng ASP có thể hiển thị được đầy đủ UNICODE. Mục 1 & 2 bạn có thể sử dụng IIS 4.0 trên nền Windows NT 4.0 sp3 trở lên và nếu có IIS 5.0 trên nền Windows 2000 (kể cả bản Pro và Server) thì tuyệt vời quá. Riêng đối với mục 3, nếu bạn đang sử dụng Windows 2000 thì bạn có thể soạn thảo các file ASP theo dạng thức UTF-8 một cách dễ dàng nhưng đối với Windows NT4.0 hoặc 9x, bạn phải sử dụng các chương trình thứ 3 (VD: MS Word, MS FrontPage, Dream Weaver...) mới thực hiện được.

Chú ý: Microsoft ASP 2.0 (IIS 4.0) và ASP 3.0 (IIS 5.0) không chấp nhận các trang ASP được lưu dưới dạng Unicode; nó chỉ cho lưu dưới dạng UTF-8 (Là 1 cách trình bày của Unicode thôi).

Đây là cách thức mà đa số các trang ASP tiếng Việt sử dụng.

Đối với ASP.NET, khó khăn này hoàn toàn được loại bỏ: Nội dung trang ASP là Unicode hoàn toàn ! Nếu có điều kiện, bạn nên nâng cấp lên XP hoặc DotNET server để tận dụng IIS 6.0 và Asp.NET

Tóm lại 3 bước để hiển thị tiếng Việt trên trang ASP mà tôi đã trình bày sẽ không cần phải có Asp.NET mà ngay cả khi bạn đang sử dụng Windows 9x cũng đã thực hiện được rồi !

Chúc may mắn