gpt4 book ai didi

sql - 用于将 nvarchar 字符串转换为 UTF-8 的 T-SQL 代码(用于 URL 百分比编码)

转载 作者:行者123 更新时间:2023-11-30 23:53:18 25 4
gpt4 key购买 nike

我需要为 SSRS 报告生成一个 URL 字符串(以便将其与我们的 CRM 软件链接)。报告名称为希伯来语。当我将 URL 字符串(带有 Heb)发送到 Internet Explorer 时,它无法识别该地址,因为它没有使用百分比编码(顺便说一句,它在 Firefox 中工作正常)。 (以这种方式仅发送带有英文的 URL 可以正常工作。)

无论如何,我尝试执行编码。我成功地将其转换为带有 UNICODE 字符的 URI。我需要获取 中的 URI UTF-8 .例如,字母 'י' 应转换为 '%d7%99' 而不是 '%05%D9'。

我包括了一个链接:
A table with the codes, for your use, if needed.

我需要 1 个字符的转换\编码功能。我可以自己构建完整字符串的其余脚本/函数。

我使用了一个使用 master.sys.fn_varbintohexstr 函数的脚本。不过,正如我所说,结果不适合 IE。

以下:

SELECT master.sys.fn_varbintohexstr((CAST (N'י' AS varbinary)))

将得到 0xd905,我将其格式化为百分比编码。我应该得到'd7 99'。

wrap up: I convert an Hebrew character into URI percent encoding. I get a unicode result. I wish > to get a utf8 result. Input = 'י'. Current output = %d9. Wanted output = %d7%99



我怎样才能得到这些结果?

最佳答案

我不得不处理一些类似的问题,您可能希望考虑两种方法;第一个是在查询中将您的数据转换为 HTML,然后在 RDL 中将结果呈现为 HTML,第二个是使用 JQuery 在客户端识别那些具有不正确值的单元格,然后转换该单元格(再次使用 JQuery )。第二个选项的好处是,如果服务器渲染在 Firefox 上运行,则不会调用转换开销。不利的一面是,如果您不将报告呈现为 HTML,它将无法正常工作。

对于第一个选项,在 select 语句中,您需要更改相应的列以生成一个 nvarchar 值,如下所示
<span style="font=yourfont;" charset="UTF-8"><a href="yourdestination.com" target="_blank">linkname</a></span>
使用该字符串作为数据,然后将其分配给适当的列(或单元格,根据需要)

在 RDL 设计器中,将字段的占位符拖到设计器上,然后右键单击占位符并选择 placeholder properties然后您可以选择将内容显示为 HTML。

关于sql - 用于将 nvarchar 字符串转换为 UTF-8 的 T-SQL 代码(用于 URL 百分比编码),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10063371/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com