我将 XML 存储在 SQL Server 的 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?