javascript 下如何进行Html 编码 及 解码

html-css010

javascript 下如何进行Html 编码 及 解码,第1张

我们知道用户的输入永远是恶意的.....所以在入口需要做很多判断,过滤甚至限制操作,比如特殊字符过滤,html编码,防sql注入等.今天说到的是如何在客户端用javascript进行 html编码/解码.肯定有人说道在服务器端一句代码就可以实现,为什么非要用javascript来实现,对,服务器端非常容易实现.比如ASP.NET 下.对用户输入只需要 Server.HtmlEncode / Server.HtmlDecode . 但如今ajax横行的时代,无处不在的无刷新模式.我们后台轻松编码后提交到数据库,但是可怜的前台如何进行编码呢,如果不编码,用户输入了<head>或者</div>那么你的页面马上面临着崩溃. 所以用到了javascript 来实现 html 编码/解码直接上代码:<script language=javascript>//编码function ToHtmlEnCode(str) {var s = ""if (str.length == 0) return ""s = str.replace(/&/g, "")s = s.replace(/</g, "<")s = s.replace(/>/g, "")s = s.replace(/ /g, "")s = s.replace(/\'/g, "'")s = s.replace(/\"/g, "")s = s.replace(/\n/g, "<br>")return s} function ToHTMLDeCode(str) {var s = ""

第一种,html网页源代码编码与中文字输入编码不同。

解决方法:

使用软件进行编辑HTML网页内容,推荐使用DW软件进行HTML代码编辑和开发。

尽量不要直接使用记事本进行编辑HTML代码。

第二种,如果网页设置编码是gbk的,而数据库储存数据编码格式是UTF-8的,这个时候程序查询数据库数据显示数据前进乡程序转码即可。

例如PHP程序+mysql查询显示数据转码:

1、mysql_query("SET

NAMES

'UTF8'")

//将查询数据转码为utf8,也就是转换为utf-8

2、mysql_query("SET

NAMES

'GBK'")//将查询数据转码为GBK,如gbk2312

第三种,浏览器造成乱码。

这个可能是你网页没有设置meta

charset编码造成。导致浏览器不能识别你网页默认编码类型。解决方法:

1、如果浏览器浏览时候出现网页乱码,在浏览器中找到转换编码的菜单。

在IE9浏览器中需要转码的网页空白出右键鼠标,即可选择“编码”。

傲游浏览器中浏览需要转码的网页时,菜单“查看”-->“编码”即可选择转换编码

谷歌浏览器中浏览需要转码的网页时,点击右上角“三横”图标选择“工具”-->“编码”即可选择切换网页编码达到让浏览器浏览此网页不是乱码。