First of all, please, read my comment to the question.
Try to use:
DECLARE @NewText NVARCHAR(30)
SET @NewText= N'Sunan Ibn Majah'
DECLARE @OldText NVARCHAR(30)
SET @OldText = N'سنن ابن ماجہ'
update [SSDB].[dbo].[Hadiths_old]
set hadith_eng_book =@NewText
where hadith_eng_book= @OldText
MSDN TechNet wrote:
Many code examples prefix Unicode character string constants with the letter N. Without the N prefix, the string is converted to the default code page of the database. This default code page may not recognize certain characters.
For furhter information, please see:
Transact-SQL Syntax Conventions (Transact-SQL)[
^]