I have this row:
You see, inside the column "description" there is already a russian character set saved.
Now if I literally COPY what is already inside that table and do:
UPDATE [SystemLocalization]
SET Description = '<p>Дополнительная форма для другого внешнего вида продукта</p>
<ul>
<li>Величина порции: 350 г</li>
<li>Длина порции: 150 мм</li>
<li>Ширина порции: 120 мм</li>
<li>Высота порций: 25 мм</li>
<li>Диаметр отверстий концевой решетки: 3 мм</li>
<li>Тара: Лоток</li>
<li>Наружные размеры лотка ДxШxВ: 195 x 144 x 51 см</li>
</ul>
'
WHERE Id = 3179;
The result is this:
So clearly, there must have been used a trick while storing the russian string inside this column, as it already accepts russian values.
What might this trick be?
Also; when I do this:
SELECT COLUMN_NAME, COLLATION_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'SystemLocalization'
AND COLUMN_NAME = 'Description';
I am getting: Latin1_General_CI_AS
Дополн` <-- Your string-literal here is `varchar`, not `nvarchar` (and you need to use `nvarchar` to preserve Unicode text): add a `N` prefix to the string to make it an nvarchar literal.
– Dai Jul 12 '23 at 13:13