c# - UrlEncode - Javascript 与 C#

标签 c# javascript encoding urlencode

<分区>

我有一个需要一些参数的 URL。这些参数的值可以是重音字符,所以我绝对需要对它们进行 UrlEncode。奇怪的是,我看到了 Javascript 和 .NET 之间的行为差​​异。

假设我尝试对单词“éléphant”进行 UrlEncode。在 JavaScript 中(根据此网站:http://www.albionresearch.com/misc/urlencode.php),我得到以下内容:%E9l%E9phant。这对我来说似乎是正确的。但是,在 .NET 中通过此调用 (System.Web.HttpUtility.UrlEncode("éléphant")) 我得到“%c3%a9l%c3%a9phant”。 怎么了?我错过了什么?如果我想在 .NET 中获取 %E9l%E9phant,我应该怎么做?

谢谢!

最佳答案

System.Web.HttpUtility.UrlEncode 将使用 UTF8(我认为..)作为其默认编码器,您可以通过指定一个来更改它..

System.Web.HttpUtility.UrlEncode("éléphant", Encoding.Default); // %e9l%e9phant

尽管指定实际代码页或其他代码页可能更可取,而不是依赖操作系统默认值。

关于c# - UrlEncode - Javascript 与 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/514688/

相关文章:

javascript - 单击后显示新表单

unicode - 为什么要使用Unicode签名字节序​​标记(BOM)?

asp.net - asp.net 页面中如何有 Html 实体?

c# - 起订接口(interface)

C# 在运行时或更早的时候设置进程描述

JavaScript 和 IE 错误 HIERARCHY_REQUEST_ERR (3)

python - 在 python 中,为什么调用字符串 "X"会以 ASCII 显示它,而调用 "print X"将其显示为 unicode ?

c# - 如何在 C#.net Web-Pages with WebMatrix 环境中使用 AJAX 传递和访问服务器端的对象数组?

c# - 基于值的 XSL 匹配元素

javascript - 使用javascript重命名数组中的对象键