使用 ADO.Net 将 utf-8 写入 SQL Server 文本字段并维护 UTF-8 字节

2024-03-31

我有一些编码为 UTF-8 的 xml,我想将其写入 SQL Server 中的文本字段。 UTF-8 与 Text 字节兼容,因此它应该能够执行此操作,然后读出仍编码为 utf-8 的 xml。

然而,UTF-8 中的多字节特殊字符(例如 ÁÅÖ)会在此过程中发生变化。

我有这样的代码:

byte[] myXML = ...

SqlCommand _MyCommand = new SqlCommand(storeProcedureName, pmiDB.GetADOConnection());
_MyCommand.CommandType = CommandType.StoredProcedure;
_MyCommand.Parameters.Add("xmlText", SqlDbType.Text);
_MyCommand.Parameters["xmlText"].Value = Encoding.UTF8.GetString(myXML);
_MyCommand.ExecuteNonQuery();

我的猜测是,将 xml 字节数组更改为字符串会将特殊字符更改为 UTF-16 字符,然后再次更改为 Latin1。 Latin1 ÖäÅ 与 UTF-8 ÖäÅ 不同。

如何将 UTF-8 xml 字节写入文本字段而不更改它们?


将列定义为 NText 或 NVarchar

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 ADO.Net 将 utf-8 写入 SQL Server 文本字段并维护 UTF-8 字节 的相关文章

  • 为什么 F# 的默认集合是排序的,而 C# 的不是?

    当从 C 世界迁移到 F 最惯用的可能 思维方式时 我发现了这个有趣的差异 在 C 的 OOP mutable 世界中 默认的集合集合似乎是HashSet https learn microsoft com en us dotnet api
  • 检测wlan是否关闭

    任何人都可以给我一个提示 如何在 Windows Phone 上以编程方式检测 C 8 1 应用程序 不是 8 0 是否启用 禁用 WLAN 我不想更改这些设置 只是需要知道 该解决方案是一个 Windows 8 1 通用应用程序 Wind
  • 从模板切换传递的类型

    在 C 中是否可以检查传递给模板函数的类型 例如 template
  • 运行需要 MySql.Data 的内置 .NET 应用程序

    我在运行我编写的内置 NET 应用程序时遇到问题 我的应用程序使用最新的 MySql 连接器 该连接器安装在我的系统上 当我尝试将其添加为引用时 该连接器显示为 NET 4 Framwork 组件 当我在环境中以调试模式运行应用程序时 一切
  • 在开关中使用“goto”?

    我看到了一个建议的编码标准 内容如下Never use goto unless in a switch statement fall through 我不跟 这个 例外 案例到底是什么样的 这证明了goto 此构造在 C 中是非法的 swi
  • 如何制作可启动程序?

    所以 这个问题可能看起来很奇怪 但假设我编译了 int main void int x 3 int y 4 int z x y 是否可以让CPU这样运行 如何 例如 这允许我写入监视器吗 如果我没记错的话 内存中有些地方可以写入要显示的内容
  • C# 开源 NMEA 解析器 [已关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找 C 开源 NMEA 解析器 嗯 我自己也不熟悉 但是一些快速搜索显示了一个代码项目 htt
  • 获取 boost Spirit 语法中的当前行

    我正在尝试使用 boostspirit 获取正在解析的文件的当前行 我创建了一个语法类和结构来解析我的命令 我还想跟踪在哪一行找到命令并将其解析到我的结构中 我将 istream 文件迭代器包装在 multi pass 迭代器中 然后将其包
  • 使用查询表达式对 List 进行排序

    我在使用 Linq 订购这样的结构时遇到问题 public class Person public int ID get set public List
  • 增强精神、递归和堆栈溢出

    为什么下面的代码在运行时崩溃 它会给出堆栈溢出错误 include
  • 将接口转换为其具体实现对象,反之亦然?

    在 C 中 当我有一个接口和几个具体实现时 我可以将接口强制转换为具体类型 还是将具体类型强制转换为接口 这种情况下的规则是什么 Java 和 C 中都允许这两个方向 向下转型需要显式转型 如果对象类型不正确 可能会抛出异常 然而 向上转换
  • 使用 C# 和 wpf 创建类似 Dock 的应用程序

    我需要创建一个与我们购买笔记本电脑时获得的应用程序类似的应用程序 仅当鼠标指针到达窗口顶部时它才可见 那么我怎样才能使用 C 4 0 来做到这一点呢 http www notebookcheck net uploads pics win2
  • 如何对 NServiceBus.Configure.WithWeb() 进行单元测试?

    我正在构建一个 WCF 服务 该服务接收外部 IP 上的请求并将其转换为通过 NServiceBus 发送的消息 我的单元测试之一调用Global Application Start 它执行应用程序的配置 然后尝试将 Web 服务解析为 验
  • 引用/指针失效到底是什么?

    我找不到任何定义指针 引用无效在标准中 我问这个问题是因为我刚刚发现 C 11 禁止字符串的写时复制 COW 据我了解 如果应用了 COW 那么p仍然是一个有效的指针并且r以下命令后的有效参考 std string s abc std st
  • 从浏览器访问本地文件?

    您好 我想从浏览器访问系统的本地文件 由于涉及大量安全检查 是否可以通过某种方式实现这一目标 或使用 ActiveX 或 Java Applet 的任何其他工作环境 请帮帮我 要通过浏览器访问本地文件 您可以使用签名的 Java Apple
  • 选择查询不适用于使用Parameters.AddWithValue 的参数

    C 中的以下查询不起作用 但我看不出问题所在 string Getquery select from user tbl where emp id emp id and birthdate birthdate cmdR Parameters
  • 如何停止无限循环?

    我正在编写一个程序 该程序将计算三角形或正方形的面积 然后提示用户是否希望计算另一个 我的代码已经运行到可以计算任一形状的面积的程度 但随后不再继续执行代码的其余部分 例如 如果选择了正方形 则计算面积 然后返回到正方形边长的提示 我假设这
  • 如何调试 .NET 运行时中的内部错误?

    我正在尝试调试一些处理大文件的工作 代码本身works 但 NET 运行时本身会报告零星错误 对于上下文 这里的处理是一个 1 5GB 文件 仅加载到内存中一次 在循环中处理和释放 故意尝试重现此否则不可预测的错误 我的测试片段基本上是 t
  • LINQ 中的“from..where”或“FirstOrDefault”

    传统上 当我尝试从数据库中获取用户的数据时 我使用了以下方法 在某种程度上 DbUsers curUser context DbUsers FirstOrDefault x gt x u LoginName id string name c
  • 使用 using 声明时,非限定名称查找如何工作?

    根据 C 标准 这是格式错误还是格式良好 namespace M struct i namespace N static int i 1 using M i using N i int main sizeof i Clang 拒绝它 GCC

随机推荐

  • 性能:条件测试与分配

    我创建了一个循环 其中使用变量来测试循环的当前运行是否是第一个循环 它相当简单 firstrun true while condition if firstrun Do this else Do that Change firstrun t
  • 未安装模拟器 - Android Studio

    我的 android studio 工作正常 有点慢 但工作正常 但是当我几天前启动它并尝试运行时 它开始向我显示错误 未安装模拟器 请帮我 找不到任何合适的解决方案 不用担心 只需打开 SDK Manager 在 Android Stud
  • Runtime.getRuntime().availableProcessors() 在容器优化操作系统上始终返回 1

    我正在 GCP 上的 kubernetes 引擎上部署 Elasticsearch 但遇到了性能问题 Elasticsearch根据核心数量确定各种线程池的大小 尽管我创建了一个 32 核 VM 但线程池大小仅为 1 我确实编写了一个测试程
  • 如何对 IP 地址列表进行排序并计算每个地址的类别和网络掩码? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我有两个选择 一是我有一个包含 IP 列表的数组 例如 my Ip array that has the IPs below in it
  • AWS Glue 中 s3fs 库导入失败

    AWSglue不导入s3fs模块 import s3fs 我希望导入该库 但 AWSglue 说 导入错误 没有名为 s3fs 的模块 AWS Glue 作业预装了一些常用库 但除此之外 您还需要下载 whl对于 pypi 的库 在这种情况
  • Woocommerce 更改购买时的用户角色

    我正在尝试使用这段代码将我的用户从默认角色 订阅者 更新为从我的商店购买产品时的 高级 角色 add action woocommerce order status completed change role on purchase fun
  • 如何使用 GPU 使用 tf.lite.Interpreter(在 python 中)运行 tflite 模型 (*.tflite)?

    我已根据以下说明将张量流推理图转换为 tflite 模型文件 tflite https www tensorflow org lite convert https www tensorflow org lite convert 我在我的 G
  • Javascript - 字符串连接[重复]

    这个问题在这里已经有答案了 我有这个功能 javascript function popup mylink windowname w h if window focus return true var href if typeof myli
  • 如何记住终端中多个选项卡的会话? (类似于 FF 会话管理器)

    一个人如何 撤消关闭选项卡 在终端中 与它非常相关的是 是否有可能记住终端中的选项卡会话 我的意思是 与 Firefox 类似 如果我关闭特定终端窗口中的所有选项卡 第二天如何打开相同的选项卡 对于像我这样经常使用多个选项卡的人来说 记住终
  • 致命异常主要 Android 应用程序

    我目前正在开发 Android 应用程序 当我单击菜单时 菜单会显示 但如果您选择 首选项 它就会崩溃 如果您单击 新建 则效果很好 我不知道发生了什么事 我是 Android 应用程序开发和 eclipse IDE 的新手 所以任何东西都
  • 如何编写 Linux .dts 设备树文件?

    我要在我的开发板上启动Linux 我需要一个dts文件 设备树文件 来描述整个硬件 但我对这个文件的语法知之甚少 不足以在板上正确运行Linux 我现在所知道的只是如何描述一个单元的中断号 频率 地址 父单元及其兼容的驱动程序类型 如下所述
  • 如何在rails 2.3.3中有条件地分配ActionController::Base.session

    我有一个 Rails 应用程序 在 config initializers session store rb 文件中包含以下内容 ActionController Base session key gt app session secret
  • WPF:将标签绑定到类属性

    我试图将标签的内容绑定到类实例的字符串属性 但没有取得太大成功 XAML
  • AVFrame 到 QImage 的高效转换

    我需要在基于 Qt 的应用程序中从视频中提取帧 使用 ffmpeg 库 我可以将帧作为 AVFrame 获取 我需要将其转换为 QImage 以在应用程序的其他部分中使用 这种转换必须是高效的 到目前为止看来sws scale 是正确使用的
  • 如何通过HTTPPost发送图片?

    我正在创建一个活动 需要使用他们的 API 将图像上传到网络服务 我发现如果我使用 UrlEncodedFormEntity 并通过它发送图像数据 网络服务没有收到该信息 至少它无法读取该内容 事实上 如果我添加一些变量与图像数据一起发送
  • 无法使用重复的“graphql”模块

    我发现graphql js https github com graphql graphql js库不允许依赖项也使用 graphql 你会得到以下错误 Duplicate graphql modules cannot be used at
  • 多行点线或虚线文本下划线

    因为 CSS 文本下划线只允许使用实线 并且它的位置位于字符串的底部 所以我使用 border bottom 加上一点填充来实现点或虚线文本下划线 h2 border bottom 1px dotted 999 padding bottom
  • 在 Ada 中立即开始循环的下一次迭代

    我想要一个无限循环 其中循环几乎贯穿整个程序 并且在任何时候 基于条件语句 我希望它退出循环的特定迭代并返回到顶部并执行 有办法做到这一点吗 它不必是无限循环 它可以是一个for循环 我只想让它进入该循环的下一次迭代 您可以使用 goto
  • 如何简单地验证 Rails 中的复选框

    如何简单地验证 Rails 中的复选框是否已选中 该复选框用于最终用户协议 它位于模式窗口中 可以说我有复选框 我应该在哪里以及如何验证这一点 我在这里看到了大多数关于 Rails 中复选框验证的帖子 但没有一个适合我的需要 Adding
  • 使用 ADO.Net 将 utf-8 写入 SQL Server 文本字段并维护 UTF-8 字节

    我有一些编码为 UTF 8 的 xml 我想将其写入 SQL Server 中的文本字段 UTF 8 与 Text 字节兼容 因此它应该能够执行此操作 然后读出仍编码为 utf 8 的 xml 然而 UTF 8 中的多字节特殊字符 例如 会