مقاله : مشکل فارسی در SqlServer

Iauksh
من جدولی درSql server تعریف کرده ام ویکی از فیلد های انرا
با نام 'name' است nvarchar تعریف کرده ام
مشکل اینجاست وقتی
در جدولی اطلاعات فارسی ذخیره می کنم هنگام query گرفتن
از رکورد هایی که فیلد 'name' انها مثلا 'مهدی'است
اطلاعات را باز نمی گرداند جالب اینجا ست که در خود SQL server هم
که code]query را اجرا می کنم ههچی نمیاره
[code]
select * from mytable where name='مهدی'
[/

Iauksh
سلام
اگر در دلفی کار می کنی با پارامتر دهی نمی تونی فارسی رو سرچ کنی . مگر اینکه کد مربوط به queryرو در خود برنامه بنویسی .

اینجا رو هم نگاهی بنداز
http://www.irandevelopers.com/forum/display_topic_threads.asp?ForumID=10&TopicID=1268&PagePosition=1

موفق باشی :wink:

Iauksh
من نزدیک به این مشکل را به صورت زیر دارم:
وقتی از وبفرم ASP.NETداده ای را که فارسی است به درون رکوردها اینزرت میکنم در
بانک آنرا به صورت علامت سوال نشان میدهد و برای جستجو هم فیلدهای انگلیسی را
بدون مشکل جستجو و پیدا میکند اما کلمات فارسی را پیدا نمیکند. :?:

Iauksh
با سلام

برای درج فارسی اگر این دو مورد را رعایت کنید مشکلی در درج نخواهید داشت
1-هنگام ساختن دیتا بیس coleation name رو Arabic_ws..و ... انتخاب کنید ( برای دلفی همین کافیه )
2 - قبل از ورود اطلاعات بصورت یونیکد از علامت N استفاده کنید.

Adios

Iauksh
اگر درست متوجه مشکل شما شده باشم بنظر من این مشکل با اضافه کردن unicode ها فارسی به روش زیر و مثلا در XP حل خواهد شد
1 - به regional seting بروید
2 - در قسمت regional option بایستی farsi و در قسمت location بایستی iran را انتخاب نمایید ( در صورتی که این موارد را نداشتید بایستی به add language رفته و اولین گزینه را تیک بزنید تا فارسی اضافه شود)

Iauksh
سلام
باید قبل از colletion /بانکنت رو Arabic-bin کنی! و نیازی هم به تعریف از نوع nvarchar نیست! با خود varcharh هم جواب میده!

Iauksh

Iauksh
خطای رایج، استفاده نکردن از N هستش که دوستان اشاره کردند:


INSERT MyTable (MyCol) VALUES(N'مهدی')

SELECT * FROM MyTable
WHERE MyCol=N'مهدی'