2013-03-27 91 views
2

我在ASP.NET和SQL Server中遇到土耳其字符問題。我有asp.net中的搜索框,並試圖在數據庫中進行搜索。但是,我在土耳其文字中遇到問題。當我搜索包含非法「İ」字符的「GALVANİZ」時。我相信,數據庫中的「GALVANİZ」一詞是。SQL Server土耳其語字符情況

當我在SQL Server工具中做一個簡單的select語句時,它也不返回任何東西。

這裏是SQL

select * from Product where name like '%GALVANİZ%' 

這並不返回任何東西。我怎樣才能解決它?

感謝

+1

哪個歸類您使用的是一個更好的解決方案嗎?它是不是'Turkish_CI_AI'? – 2013-03-27 20:40:34

+0

我沒有做任何整理事情。我應該在創建表格時選擇排序規則嗎?或者我應該在選擇時做? – 2013-03-27 20:41:34

+1

你也可以做。你也可以嘗試你的查詢,像這樣的名稱,如N'%GALVANİZ%',其中N表示Unicode字符。 – 2013-03-27 20:42:22

回答

5

你可以在你的查詢,如Turkish_CI_AI指定歸類,或者使用與你的字符串「N」字,表明他們是Unicode的,像這樣:

select * from Product where name like N'%GALVANİZ%' 
+0

我會在5分鐘內記錄下來。當我在mssql工具中進行選擇時,它可以工作。但是當我用C#代碼實現時,它不起作用。你爲什麼認爲它不工作在C#代碼 – 2013-03-27 20:48:03

+0

你可以用你正在使用的C#代碼更新你的原始問題,所以我可以看看它?謝謝! – 2013-03-27 20:49:16

0

我我自己也解決了這個問題。這裏是解決

select * from product where name like N'%GALVANi%' collate Turkish_CI_AS 

這是