データベースの文字セットを変更する必要はありません。NVARCHAR 型を使用している限り、データベース側はうまくいくはずです。ただし、テーブルにデータを取得する際に Unicode が考慮されていることを確認する必要があります。
DECLARE @VAR VARCHAR(100) = N'♥-You-Got-Me-♥[www.savevid.com].mp4'
, @NVAR NVARCHAR(100) = N'♥-You-Got-Me-♥[www.savevid.com].mp4'
, @oops NVARCHAR(100) = '♥-You-Got-Me-♥[www.savevid.com].mp4'
SELECT
@VAR
, @NVAR
, @oops;
戻り値:
?-You-Got-Me-?[www.savevid.com].mp4 ♥-You-Got-Me-♥[www.savevid.com].mp4 ?-You-Got-Me-?[www.savevid.com].mp4
最後の宣言では、リテラルの前の N が省略されています。フロントエンドでこれを台無しにする同様の方法があります。DB に Unicode が格納されている場合でも、入力と DB の間、および UI に戻るすべてのものがマルチバイト文字を適切に処理することを確認する必要があります。