PDA

View Full Version : Tìm kiếm tiếng Việt chuẩn và tiếng Việt bị mã hóa HTML



quadiacau
05-09-2013, 00:24
Chào các bác,

Em đang dùng Visual Studio 2010, ASP.NET MVC2, SQL Server 2008 R2.

Tuy nhiên đang gặp vấn đề về tìm kiếm. Ví dụ khi post bài, em viết từ "Tiêu đề" vào trong editor soạn thảo, nó lưu trong DB thành "Tiêu ***273;***7873;"

Khi hiển thị lên phía người dùng thì không sai. Nhưng khi tìm kiếm, em tìm theo kiểu WHERE MyColumn LIKE N'%Tiêu đề%' nên không ra kết quả nào.

Bác nào có kinh nghiệm giúp em phát.

hero5559990
05-09-2013, 12:06
1. Bạn thử dùng cái textbox thay cho cái editor hiện tại thử coi,
2. Nếu không phải editor, thì thử set encoding page sang utf8 xem.

quadiacau
05-09-2013, 14:03
1. Bạn thử dùng cái textbox thay cho cái editor hiện tại thử coi,
2. Nếu không phải editor, thì thử set encoding page sang utf8 xem.

Đúng là do cái editor làm biến dạng. Mình post bài nên không thể dùng textarea được. Bạn có recommend nào cho cái editor không.

Encoding page sang UTF8 thì không phải rồi, vì khi hiển thị trên trang, mình chẳng làm gì nó cũng hiển thị đúng. Có điều lưu trong DB nó là ký tự khác thôi.

Các bác còn phương án nào khác không.

dxt49
05-09-2013, 15:18
bạn dùng thử fckeditor nhé.

quadiacau
05-09-2013, 16:47
Mình vẫn đang dùng FCKEditor nhé.

hero5559990
06-09-2013, 14:52
Fck thì cũng good, nhưng cách nhanh nhất , bạn thử dùng tinymce, thử xem.
FCK này bạn muốn edit chổ này phải lục trong lib javacrip của nó rùi sửa lại. Mình hông nhớ nó năm đâu, mấy năm rùi quên hêt. Tuy nhiên bạn thử tinymce trước đi nếu hông dc thì mình mò giúp cho.

dxt49
09-09-2013, 10:43
thường thì tiêu để nên để textbox, còn nội dung bài viết thì để kiểu dữ liệu là ntext và editor là fckeditor, vì tiêu đề ko cần phải format html làm gì cả chỉ là string thôi.

Hoặc có thể thêm 1 field là keyword phục vụ cho mục đích tìm kiếm, vì ntext sẽ ko cho phép tìm theo kiểu operator LIKE.

vokhanhthuy
09-09-2013, 16:58
Nếu trong CSDL lưu sai bạn kiểm tra trường dữ liệu của bạn là nvarchar hay varchar?

QuanN
30-09-2013, 00:13
Chúng là numeric character reference. Bạn hãy dùng Server.HtmlDecode method.

http://forums.asp.net/t/1065218.aspx