论坛管理员 发表于 2009-8-12 10:45:31

请教一个网页编码的问题!!

本帖最后由 论坛管理员 于 2009-8-13 20:50 编辑

"你好"转换后是 %E4%BD%A0%E5%A5%BD请问是什么编码形式?
"王建"转换后是%E7%8E%8B%E5%BB%BA

请教高手指点一下!

能否搞个转换函数出来!

谢谢!

bob 发表于 2009-8-12 11:59:36

这个比较怪异,像Encode加密
但Encode加密 “你好”转换后是 %C4%E3%BA%C3

iftodo 发表于 2009-8-12 17:04:16

:face (30):    各种编码问题,也是一直困扰着我的.

论坛管理员 发表于 2009-8-13 09:30:36

请教高手指点一下!

谢谢~

llm1978 发表于 2009-8-13 09:50:33

encodeURIComponent 方法
返回编码为统一资源标识符 (URI) 的有效组件的字符串。

function encodeURIComponent(encodedURIString : String) : String
参数
encodedURIString
必选。表示编码 URI 组件的字符串。
备注
encodeURIComponent 方法返回一个已编码的 URI。如果将编码结果传递给 decodeURIComponent,则将返回初始的字符串。因为 encodeURIComponent 方法将对所有字符编码,请注意,如果该字符串代表一个路径,例如 /folder1/folder2/default.html,则其中的斜杠也将被编码,这样,当该字符串作为请求发送到 Web 服务器时它将是无效的。如果字符串中包含多个 URI 组件,请使用 encodeURI 方法进行编码。

论坛管理员 发表于 2009-8-13 11:13:15

的确是用的这个方法,感谢楼上的!

哪位高人可以写个UDF出来,不甚感激!

我搜索了一下资料:

escape() 方法:
采用ISO Latin字符集对指定的字符串进行编码。所有的空格符、标点符号、特殊字符以及其他非ASCII字符都将被转化成%xx格式的字符编码(xx等于该字符在字符集表里面的编码的16进制数字)。比如,空格符对应的编码是%20。unescape方法与此相反。不会被此方法编码的字符: @ * / +

encodeURI() 方法:把URI字符串采用UTF-8编码格式转化成escape格式的字符串。不会被此方法编码的字符:! @ # $& * ( ) = : / ; ? + '

encodeURIComponent() 方法:把URI字符串采用UTF-8编码格式转化成escape格式的字符串。与encodeURI()相比,这个方法将对更多的字符进行编码,比如 / 等字符。所以如果字符串里面包含了URI的几个部分的话,不能用这个方法来进行编码,否则 / 字符被编码之后URL将显示错误。不会被此方法编码的字符:! * ( )

论坛管理员 发表于 2009-8-13 11:36:00

<html>
<body>
<script type="text/javascript">
document.write(encodeURIComponent("你好"))
</script>
</body>
</html>

以上代码能得到理想的结果,请高人弄个 UDF出来 !谢谢!
页: [1]
查看完整版本: 请教一个网页编码的问题!!