【问题标题】:XML Character encoding to HTMLXML 字符编码为 HTML
【发布时间】:2011-10-13 09:08:31
【问题描述】:

我正在从我的 SQL 查询生成 XML/HTML 以放置在我的前端。

问题是从SQL>XML>HTML转换的编码不一样

SQL 生成的每个 html 标记都有一个类,所以我想使用 jQuery 将编码转换为正确显示在我的前面。

有什么好的 jQuery/Javascript 函数可以用来转换我生成的 html 吗?

示例

é

将转换为:

ã© 

我想将它转换回正常状态。

SQL 示例: 这就是我在 SELECT 子句列中从 SQL 获取 XML/HTML 的方式

htmlForFront = (SELECT ', ' + columnName + '' FROM tableName FOR XML path(''), elements) 

注意:

如果它是客户端(jQuery),我会更容易实现。但如果我别无选择C# 就可以了。

【问题讨论】:

  • 必须在客户端吗?您如何从哪里检索数据?
  • 如果是客户端(jQuery),我会更容易实现。但如果我别无选择,C# 就可以了。
  • 您使用的是什么编码?你如何转换它?它在哪里被破坏?它只是看起来在某些时候 UTF-8 序列被误解为 Latin1。这可能发生在转换链中的任何一步,一直到浏览器中选择的显示编码...
  • 查看我的选择列 sql 代码的更新问题。
  • 在您的数据库和 UI 之间确保使用更具包容性的编码完成任何数据转换/处理。 “iso-8859-1”是一个很好的候选者。这包括 xsl/xslt 文件、xml 文件、阅读器(如 StreamReader)(如果您正在使用)。我不希望 UI 很挑剔。

标签: c# jquery html sql xml


【解决方案1】:

假设查询按原样绘制数据,您可以通过执行以下操作确保使用“iso-8859-1”编码处理数据:

htmlForFront = (SELECT '<?xml version="1.0" encoding="ISO-8859-1" ?>' + (SELECT ', ' + columnName + '' FROM tableName FOR XML path(''), elements))

这样,它将完整地到达 UI。

【讨论】:

  • 我实现了你的扩展,但是没有用。还有其他建议吗?
猜你喜欢
  • 2010-10-22
  • 2013-06-07
  • 1970-01-01
  • 1970-01-01
  • 2011-01-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多