PDA

View Full Version : Tìm kiếm thông tin dạng font UTF-8 trong SQL Server 2000



isavietnam
18-07-2007, 14:17
Chào các bạn!
Hiện nay mình đang gặp một vấn đề như sau:
Mình dùng PHP 4.3.7 để phát triển web, CSDL là SQL server 2000
khi lưu thông tin vào CSDL thì thông tin tự động chuyển thành font UTF-8. Khi mình muốn tìm kiến thông tin ví dụ như hiển thị tất cả những người có tên ngày "Huệ" và mình đánh HUỆ thì không tìm được.

Mình đã đọc một bài trên ddth "Tìm kiếm tiếng Việt trong SQL Server 2000" của bạn

nếu thông tin lưu ở Unicode thì tìm kiến không vấn đề gì. Nhưng nếu lưu dạng Unicode(không mặc định là UTF-8) thì php lại hiển thị font không đúng

Bạn nào đã gặp trường hợp này rồi thì giúp đỡ mình với
Cảm ơn các bạn rất nhiều!

phatnq2003
19-07-2007, 15:44
Trong CSDL, bạn định nghĩa những field text là kiểu gì?
Để lưu Unicode, bạn phải cho chúng có kiểu là nchar, nvarchar, ntext...
Khi tạo chuỗi điều kiện, bạn phải đặt trước chuỗi ký tự N. Ví dụ: WHERE ten LIKE N'Huệ'

isavietnam
20-07-2007, 13:54
Cái mình quan tâm ở đây là có cách nào để dùng câu lệnh like mà không phân biệt chữ hoa, thường. Với font chữ là UTF-8 không phải theo kiểu Unicode.
Vì nếu lưu thông tin vào CSDL SQL server 2000 với font Unicode(Không phải là UTF-8) thì khi PHP đọc nội dung để hiển thị thì bị mất font.

Ví dụ như: Mình lưu thông tin Họ và tên nhân viên trong một cột C_NAME(nvarchar(100))
có những giá trị sau:

Chuẩn font UTF-8

Nguyễn Văn Nam
Đỗ Như Hùng