gpt4 book ai didi

javascript - 使用url编码转换特殊字符(é è ë)

转载 作者:行者123 更新时间:2023-11-29 16:19:30 26 4
gpt4 key购买 nike

我正在做一个功能,用户的电子邮件客户端只打开一个预填充的内容 (javascript)。

问题是我在转换特殊字符时遇到问题,因此它们无法正确显示到电子邮件客户端(内容由 url 传递)。

我写了一个函数,但是在执行 console.log() 之后我发现它甚至不会转换字符(可能是因为我试图替换一个 char string).

function url_encode(item)
{
for (i in item)
{
a = item[i]
switch (a)
{
case "À": a='%C0';
break;
case "È": a='%C8';
break;
case "É": a='%C9';
break;
case "Ê": a='%CA';
break;
case "à": a='%E0';
break;
case "è": a='%E8';
break;
case "é": a='%E9';
break;
case "ê": a='%EA';
break;
case "ë": a='%EB';
break;
}
item[i] = a;
console.log(item[i])
}
return item;
}

有人找到了成功的方法或有想法(或修复)为什么它没有按预期工作吗?

编辑:encodeURI 函数不支持 éè 字符(在法语中经常使用),结果为 éè

最佳答案

这样可以吗?

var url_encode = function ( url ) {
return url.split( '' ).map(function ( c ) {
return /[ÀÈÉÊàèéêë]/.test( c ) ? '%' + c.charCodeAt( 0 ).toString( 16 ).toUpperCase() : c;
}).join( '' );
};

现场演示: http://jsfiddle.net/v2He6/

(注意:对于 IE8,您需要 polyfill .map()。)

例子:

url_encode( 'ABCÀDEFè' ) // "ABC%C0DEF%E8"

关于javascript - 使用url编码转换特殊字符(é è ë),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11993689/

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