标签: encodeuricomponent

麻烦用.Net http处理程序编码au umlaut

我有一个JavaScript请求转到ASP.Net(2.0)HTTP处理程序,它将请求传递给java Web服务.在此系统中,特殊字符(例如具有重音的字符)无法正确传递.

例如

  • 人力投入: Düsseldorf
  • 成为JavaScript asynch请求http://site/serviceproxy.ashx?q=D%FCsseldorf,据我所知,它在ISO-8859-1和UTF-8中都有效.(除非它是UTF-8中的%c3%bc)
  • HttpContext.Current.Request.QueryString.Get("q")返回D?sseldorf故障开始的地方.
  • 但是HttpUtility.UrlEncode(HttpContext.Current.Request.QueryString.Get("q"), Encoding.GetEncoding("ISO-8859-1"))返回D%3fsseldorf('''')
  • HttpUtility.UrlEncode(HttpContext.Current.Request.QueryString.Get("q"), Encoding.UTF8)返回D%ef%bfsseldorf

因此,该值不会被解码,也不会被正确地重新编码以传递给java服务.

  • 注意HttpContext.Current.Request.Url.Query?q=D%FCsseldorf&output=json&from=1&to=10
  • 虽然HttpContext.Current.Request.QueryString.ToString()q=D%ufffdsseldorf&output=json&from=1&to=10

为什么这样,我怎么能告诉它HttpContext尊重请求标题,包括:

Content-Type=application/x-www-form-urlencoded;+charset=UTF-8
Run Code Online (Sandbox Code Playgroud)

QueryString使用UTF-8字符集解码URL .

附录:正如答案所指出的那样,问题不在于解码与编码有关; escape()在JavaScript中使用不会根据UTF-8进行转义,而使用时encodeURIComponent()也是如此.

javascript asp.net diacritics character-encoding encodeuricomponent

5
推荐指数
1
解决办法
4610
查看次数

我怎样才能在PHP中使用javascript decodeURI?

我有一个javascript,它将一些特定的信息发送到PHP api.在发送之前它执行encodeURI.如何在PHP中"解码"它?我知道urldecode/urlencode与javascript编码/ decodeURI不同所以我可以使用什么?

javascript php urlencode encodeuricomponent

5
推荐指数
2
解决办法
1万
查看次数

空字符串+ null ="null"?

今天我遇到了一个奇怪的事情,同时在我们的应用程序中排除了流氓AJAX请求.我们使用jQuery.param构建请求字符串将数据发送回服务器.

在一个场景中,提供给param函数的对象有一个null选项,所以它看起来像这样:

var myData = {
     x : 1,
     y : null
};
var params = jQuery.param(myData);
Run Code Online (Sandbox Code Playgroud)

这段代码实际上埋藏在骨干集合中,但原理是一样的.

现在,当服务器收到变量的参数y是文字字符串"null"而不是存在时,我感到非常震惊null.

经过一番挖掘后,我发现encodeURIComponent(null)返回字符串"null"并获得更有趣的'' + null收益"null".这在Chrome 23以及Firefox 11上进行了测试.

最终发送到jQuery.param函数的对象是从函数的参数构建的,而null是参数的完全有效值.我只是通过构建对象来解决它y : param || '',但我很好奇本机JS函数的明显错误,以及为什么'' + null = "null",因为它们通常被认为是两个不同的概念.

javascript encodeuricomponent

5
推荐指数
1
解决办法
2179
查看次数

Javascript charAt()打破多字节字符串

该代码在nodejs v0.10.21中中断

#!/usr/bin/env node
"use strict";

var urlEncoded = 'http://zh.wikipedia.org/wiki/%F0%A8%A8%8F';
var urlDecoded = decodeURI( urlEncoded );
var urlLeafEncoded = urlEncoded.substr( 29 );
var urlLeafDecoded = decodeURIComponent( urlLeafEncoded );
var urlLeafFirstCharacterDecoded = urlLeafDecoded.charAt( 0 );
var urlLeafFirstCharacterEncoded = encodeURIComponent( urlLeafFirstCharacterDecoded );

console.log( 'URL encoded = ' + urlEncoded );
console.log( 'URL decoded = ' + urlDecoded );
console.log( 'URL leaf encoded = ' + urlLeafEncoded );
console.log( 'URL leaf decoded = ' + urlLeafDecoded );
console.log( 'URL leaf first character encoded …
Run Code Online (Sandbox Code Playgroud)

javascript encodeuricomponent multibyte node.js charat

5
推荐指数
1
解决办法
1745
查看次数

Twitter 分享 encodeURIcomponent 之争

我正在处理一个项目,但在使用 encodeURIcomponent 函数时遇到了一些问题。该站点是一个社交媒体内容库,它允许我将副本存储在 CMS 中,并将其显示在页面上,并带有链接和按钮以共享到社交媒体站点。我正在为 Twitter 组件苦苦挣扎,需要一些帮助。这是我的代码:

			
			
function tweetClick() {
	var url = "http://urlfromcms.com";
	var text = "I'm getting this text dynamically from the CMS too.";
	window.open('http://twitter.com/share?url='+encodeURIComponent(url)+'&text='+encodeURIComponent(text), '');
			}    			    		    		
Run Code Online (Sandbox Code Playgroud)
<a class="shareitbutton w-button" href="#" target="_blank" title="Tweet" onclick="tweetClick(); return false;">Tweet It!</a>
Run Code Online (Sandbox Code Playgroud)

这就像一个有一个问题的冠军。如果副本有与号、撇号、引号等,那么它也会被编码,并且需要编辑推文,这违背了目的。如何编码以在 twitter 需要的空间中获得 %20 但不理会我的&符号和撇号?

任何帮助将不胜感激!

javascript twitter urlencode encodeuricomponent

5
推荐指数
1
解决办法
1038
查看次数

动态图像路径未显示在 Angular 7 的 [style.background-image] 属性中

我正在尝试在我的 Angular6 项目之一中使用动态图像路径作为背景图像。我曾尝试使用 [style.background-image] & [style.background] 甚至 encodeURI 来修复路径中的空格,也尝试使用 *ngIF 以便在加载后呈现。

情况1:

imgPath 是绝对路径,我将 JSON 数据的路径附加到该路径。

HTML代码

    <a routerLink="/article/{{news.id}}">        
      <img [style.background-image]="'url(' + imgPath + news.encodedImage.encocoded_primary_image + ')'">          
    </a>
Run Code Online (Sandbox Code Playgroud)

成分

使用 encodeURI() 函数检查图像的空格和其他括号

'encocoded_primary_image': encodeURI(res['primary_image']['file_path'])
Run Code Online (Sandbox Code Playgroud)

输出

文章图片对比

如图所示,“s/Absorica%20(2).png”有括号,这可能是导致错误的原因,但不确定。

其他情况

我试图用[style.background][ngStyle],改变图像标签div标签。

但是我无法理解为什么很少有图像在渲染而很少有图像没有渲染,尽管路径正确生成,我已经通过在新选项卡中打开它们进行了确认。

任何帮助将不胜感激

javascript encodeuricomponent angular angular7

4
推荐指数
1
解决办法
4225
查看次数

encodeURIComponent真的很有用吗?

在向服务器执行http-get请求时我仍然不明白的一点是使用JS函数encodeURIcomponent来编码http-get的每个组件的优点.

做一些测试我看到服务器(使用PHP)也正确获取http-get请求的值,如果我不使用encodeURIcomponent! 显然我还需要在客户端级别编码特殊字符&?= /:否则像"和平与爱=美德"这样的http-get值将被视为http-get请求的新键值对而不是单个值.但是为什么encodeURIcompenent还会编码许多其他字符,例如'è',它被翻译成%C3%A8,必须使用utf8_decode函数在PHP服务器上解码.

通过使用encodeURIcomponent,http-get请求的所有值都是utf8编码的,因此当在PHP中获取它时,我必须每次在每个$ _GET值上调用utf8_decode函数,这非常烦人.

为什么我们不能只编码&?= /:字符?

另请参见:JS encodeURIComponent结果与FORM创建的结果不同 它表明encodeURIComponent甚至没有正确编码,因为简单的浏览器FORM GET以不同的方式编码像'€'这样的字符.所以我仍然想知道这个encodeURIComponent是什么用的?

javascript php encodeuricomponent

3
推荐指数
2
解决办法
2283
查看次数

相当于Javascript的encodeURI?

C#与encodeURIComponent相当,在SO和其他地方都有很好的覆盖,但是呢?encodeURI呢?基本上,我想编码无效的URL字符,而不是保留的字符,如/,:等于是

"http://www.example.com/my cool page"
Run Code Online (Sandbox Code Playgroud)

将被编码为

"http://www.example.com/my%20cool%20page"
Run Code Online (Sandbox Code Playgroud)

有没有东西进入.NET这样做?或者是正则表达式我最好的选择?

.net c# urlencode encodeuricomponent

3
推荐指数
1
解决办法
9813
查看次数

Powershell 中的 JavaScript 编码 URI 等效项?

encodeURI()Powershell 中的 Javascripts /相当于什么encodURIComponent()

我正在对 URL 进行编码(%20其中需要一些 s),但我讨厌手动执行此操作。

javascript powershell encodeuricomponent

3
推荐指数
1
解决办法
3151
查看次数

用encodeURIComponent编码括号下划线倾斜星

encodeURIComponent转义除以下内容之外的所有字符: - _ . ! ~ * ' ( )

但是是否可以扩展功能编码上述特殊字符.

我知道我可以这样做:

encodeURIComponent(str).replace(/\(/g, "%28").replace(/\)/g, "%29");
Run Code Online (Sandbox Code Playgroud)

但我想要这样的功能,而不使用encodeURIComponent上的其他功能

encodeURIComponent(str);
Run Code Online (Sandbox Code Playgroud)

javascript encodeuricomponent

2
推荐指数
1
解决办法
1686
查看次数