我在SQL Server的XML列中存储XML。 SQL Server会使用UTF-16存储数据。因此,存储的XML必须是UTF-16编码。
我手头的XML是utf-8编码的,在顶部有这样的声明:
<?xml version="1.0" encoding="UTF-8" ?>
当我尝试插入带有UTF-8声明的XML时,会出现关于编码的异常。我可以很容易地通过以下两种方式进行修复:
- 删除声明 - 更改声明为
<?xml version="1.0" encoding="UTF-16" ?>
问题
我不知道直接删除或替换声明是否“安全”或正确。我会丢失数据,还是XML会损坏?还是我需要在C#中将字符串从utf-8转换为utf-16?