2013-02-28 32 views
5

Tôi có một vấn đề khi tôi làm một truy vấn SQL với Hebrew:truy vấn SQL trong C# không hỗ trợ tiếng Hebrew

"select ProductName From Products WHERE TypeOfProduct ='מעבד'" 

Tôi có TypeOfProduct bộ, đó là có giá trị 'מעבד', nhưng truy vấn trả về null.

Nếu tôi thay chữ Hebrew bằng thứ gì đó như số hoặc từ tiếng Anh, mọi thứ đều ổn.

Tôi làm cách nào để sử dụng hebrew trong truy vấn SQL?

+1

Cột cơ sở dữ liệu của bạn là loại gì? Điều gì về collation? – vcsjones

+0

Bảng trông như thế nào về mặt đối chiếu? Bạn có thể lấy lại dữ liệu một cách chính xác và hiển thị nó (nếu bạn lấy hàng một cách khác)? –

+0

SQL được thiết kế cho bộ ký tự Latinh, rất có thể bạn sẽ gặp phải loại vấn đề này với các ký tự nằm bên ngoài nó. – Amicable

Trả lời

12

Bạn nên sử dụng Unicode bằng "N" tiền tố trước khi chuỗi tức là N 'מעבד' trong mệnh đề where của bạn ...

select ProductName From Products WHERE TypeOfProduct = N'מעבד' 

Bạn cũng cần phải chắc chắn rằng cột của bạn là loại nvarchar và không phải varchar.

Nếu bạn không thể sử dụng nvarchar và chuỗi Unicode, bạn sẽ phải thay đổi đối chiếu cơ sở dữ liệu của mình từ LATIN thành HEBREW.

+0

Cảm ơn bạn Rất nhiều, tôi rất nhiều và tôi không tìm thấy câu trả lời, cuối cùng! Cảm ơn ! – ShmuelCohen

+1

Vui mừng được giúp đỡ ... Nếu điều đó giúp đánh dấu câu trả lời để người khác có thể xem – Mortalus

+1

Chỉ cần mở rộng nhận xét của Mort, nếu bạn nhấn để chấp nhận câu trả lời này, bạn có thể nhấp vào hộp kiểm ở góc trên cùng bên trái câu trả lời của mình. –

Các vấn đề liên quan