09/10/2018, 17:50

[Q] Kho vi tieng Viet :-(.

Tối gặp một vài rắc rối trong cách trình bày tiếng Việt như sau:
Tôi dùng Macromedia Dreamweaver MX để soạn các trang jsp.

Trang nhập liệu: nhap_lieu.jsp
Trang hiển thị lại: hien_thi.jsp

Trong trang nhập liệu tôi dùng charset : UTF-8

<meta http-equiv="Content-Type" content="text/html;charset=utf-8">

Việc nhập liệu bằng tiếng Việt được thực hiện tốt.

Khi hiển thị lại, trình duyệt IE tôi đã đăt : view> encoding> utf-8
Và đầu trang hiển thị, tôi cũng đặt dòng :

<meta http-equiv="Content-Type" content="text/html;charset=utf-8">

Thế nhưng tiếng Việt lại không hiển thị trở lại được. Ví dụ khi nhập vào tôi nhập:

Chũ “tiếng Việt Nam” thì hiển thị lại thành : TiêÌ?ng Việt Nam

Tôi đã rất cố gắng khắc phục lỗi này, nhưng làm mãi vẫn không được, rất mong nhận được nhiều ý kiến giúp đỡ của các bạn. Xin chân thành cảm ơn.
envic viết 20:05 ngày 09/10/2018
Thế bạn đã sử dụng phần mềm hỗ trợ nào để gõ tiếng Việt. Thường thì đa số người dùng Việt Nam sử dụng Vietkey 2000.
Lỗi của bạn có thể là đã sử dụng bảng mã VNI thay vì dùng UNICODE. Bạn có thể thiết lập lại các tùy chọn trong Vietkey 2000 để phù hợp với nhu cầu sử dụng của bạn. Thường thì thời đại bây giờ chạy heo xu hướng sử dụng bảng mã UNICODE, bạn có thể tham khảo tại trang www.vietkey.com
staritvn viết 19:51 ngày 09/10/2018
Cảm ơn bạn đã tham gia thảo luận,

Tôi dùng việt Key 2000, kiểu gõ telex, bảng mã Unicode 16 Bit Dựng Sẳn (Unicode Pre-Compound 16 Bit)

Chắc chắn nhập liệu vào tôi đã nhập bằng Unicode, nhưng sao có nhiều loại Unicode thế, tôi thật sự lúng túng khi phân biệt các kiểu unicode này, tôi thử dùng phân mềm VietFlex của công ty Lạc Việt Tự Điển, kiểu Unicode Viet Nam, nhưng kết quả cũng không khả quan gì.

Tôi thật sự đang bị bế tắt.

envic viết 19:56 ngày 09/10/2018
Bạn cũng làm tui bế tắc luôn, bó tay...
COTTONBELLY viết 20:01 ngày 09/10/2018
bạn thử xem cái này có được không :

<%@ page contentType="text/html; charset=UTF-8" %>
envic viết 19:55 ngày 09/10/2018
liệu có ổn không?
staritvn viết 20:03 ngày 09/10/2018

Một điều chắc chắn là có thể thực hiện được ! Tôi tin là như vậy, nhập và hiển thị tiếng Việt là điều có thể thực hiện được, nhưng
để làm sao thực hiện được ???
Tôi thật sự mong đợi và rất cảm ơn bạn nào đã triển khai thành công tác vụ này, xin share code cho tôi với. Xin chân thành cảm ơn.
nguyenthu viết 20:03 ngày 09/10/2018
Chào bạn,
Theo tôi nghĩ khi bạn gõ tiếng Việt, bạn đã có sai lầm, thí dụ :
- chọn font không đúng, như tôi hay chọn Tahoma
- chọn charset không đúng, tôi hay chọn utf-8, nhưng có một số phần mềm bộ gõ cũng lộn luôn ! như hiện tại tôi xài bộ gõ VPS (miễn phí) như khi setting phải chọn Unicode (thay vì Unicode utf-8). Bạn có thể vào trang web của tôi ở :
http://ahcc7.nguyenthu.com/ahcc7_u.html
mà download về, có luôn những font unicode thường dùng.
- Ngoài ra, xin nói với bạn là nên xài Hệ điều hành từ WinMe hay Wìn 2000, còn Win98 cũng có thể hiển thị được Unicode nhưng khó hơn.
- Bạn dùng phần mềm Macromedia Dreamweaver, riêng tôi có kinh nghiệm với WebExpert như sau : nó hiển thị đúng tiếng Việt Unicode khi nào mình lưu lại với cái đuôi html mà thôi, khi tôi lưu lại với đuôi php thì hiển thị sai như trường hợp của bạn. Vậy bạn hãy lưu lại dưới dạng html thử đi ! Nếu hiển thị đúng thì đó là tại phần mềm tạo Webpage Macromedia Dreamweaver : trong trường hợp này bạn đổi cái đuôi trong Explorer thì không sao.
Thân
White_Rose viết 19:54 ngày 09/10/2018
Những việc bạn làm chỉ đảm bảo client hiển thị đúng tiếng Việt.
Bạn còn cầm dảm bảo server cũng xử lý dữ liệu ở dạng UTF-8 nữa. Mình không biết JSP nên không rõ lệnh nào nhưng bạn thử tìm các lệnh dẫn hướng xem có cái nào liên quan đến encoding không.
Nhưn ở ASP nó chính là
<%@CODEPAGE=65001%>
staritvn viết 19:51 ngày 09/10/2018
Việc chọn bộ gõ tôi đã kiểm tra và dùng tốt, tôi dùng vietkey, vì tôi làm nhiều trang khác thì việc hiển thị vẫn đúng. Lỗi xảy ra khi nào tôi nhập vào database rồi lại hiển thị ra. Tôi dùng MS SQL sever, websever là resin. Tôi thấy nếu nhập trước vào database thì khi hiển thị ra rất tốt (mọi trang jsp encode là utf-8), nhưng nếu người dùng nhập liệu vào, sau đó lưu vào database rồi lấy ra thì chữ bị ngắt, không lấy hết được cả câu. Mặc dù trong database thì vẫn thấy đủ cả câu (nhưng không đọc được vì sql sever ko hiển thị tiếng việt unicode).
Rất mong có ai giúp tôi môt vài ý kiến....
Bài liên quan
0