htc文件GB2312编码格式导致包含中文的注释行混乱,不易发现(原创)
2006-06-12 14:47
288 查看
今天,在htc文件应用一段简单的dhtml时,竟然出现了错误,看一下
可是_table.rows.length的结果总是1而不是期望的2,而这段代码在jscript中运行正常。经过反复的试验,最终发现问题出在htc的编码上。
打开htc文件,选择另存为,在弹出的对话框中的保存按钮旁边有一个小的下拉箭头,选择utf-8保存。
当我更改了编码格式后,问题消失了。我的代码中只有两行有注释
问题就出在这里,当编码格式为GB2312,由于解析器不能正确的解析中文字符,解析的结果类似:
因此第二个insertRow()并没有执行,问题解决。
总结:
P.S. 罗本就是牛X,偶已经把桌面换成他的了,我的技术一般,速度还可以,罗本就是我的偶像拉。
var _table = window.document.createElement("TABLE"); window.document.body.appendChild(_table); _table.cellSpacing = 0; _table.cellPadding = 0; _table.className = "Main"; var _tr = _table.insertRow(); _tr.style.background='beige url(images/top_middle.gif) repeat-x'; var _td = _tr.insertCell(); _td.style.width = 8; _td.style.height = 8; _td.innerHTML = '<IMG SRC="images/top_left.gif" WIDTH="8" HEIGHT="8" BORDER=0>'; //_td = _tr.insertCell(); //第二列 _tr = _table.insertRow(); //第二行 _tr.vAlign = "top"; _td = _tr.insertCell(); _td.className = "MainTableLeft"; _td.colSpan = 2; _td.appendChild(element); alert(_table.rows.length);
可是_table.rows.length的结果总是1而不是期望的2,而这段代码在jscript中运行正常。经过反复的试验,最终发现问题出在htc的编码上。
Tips:在VS.net中更改htc编码
打开htc文件,选择另存为,在弹出的对话框中的保存按钮旁边有一个小的下拉箭头,选择utf-8保存。
当我更改了编码格式后,问题消失了。我的代码中只有两行有注释
//_td = _tr.insertCell(); //第二列 _tr = _table.insertRow(); //第二行
问题就出在这里,当编码格式为GB2312,由于解析器不能正确的解析中文字符,解析的结果类似:
//第二列_tr = _table.insertRow();
//第二行.....
因此第二个insertRow()并没有执行,问题解决。
总结:
1.htc文件一定注意其编码格式,有的问题可能是因为编码问题造成的。
P.S. 罗本就是牛X,偶已经把桌面换成他的了,我的技术一般,速度还可以,罗本就是我的偶像拉。
相关文章推荐
- 解决了浏览器URL地址栏直接输入get参数值包含中文时的urlencode编码格式问题
- 由于编码混乱导致中文乱码的恢复
- 判断字符串是否有包含关系(包括中文,中文注意编码格式)
- 自动检测文本文件编码是否为GB2312(简体中文),并转换为UTF8编码,附一个GB2312全区对应的utf8编码码表
- 编码格式导致批处理文件bat文件不能执行
- 【MySQL笔记】mysql源码安装/配置步骤及支持中文gbk/gb2312编码的配置方法
- 【原创】将数据生成json文件下载以及json中文乱码和优化json文件格式的方法
- EXCEL文件中的VBA模块名包含中文名导致打开失败的案例。
- C#验证字符串是否是数字,是否包含中文,是否是邮箱格式,是否是电话格式
- 解决url中包含中文导致的乱码
- 用Phpmailer发送邮件发现中文竟然是乱码,原来是编码问题
- Qt5程序参数包含中文GBK编码的问题
- 修改mysql数据库编码格式以支持中文
- python 读写文件包含多种编码格式
- MyEclipse中文乱码,编码格式设置,文件编码格式 总结
- java格式化CST日期时间(包含英文和中文两种格式的CST时间)
- django 模板包含中文编码报错
- WindowsPhone的中文GB2312、GBK编码与Unicode相互转换
- subprocess.Popen指令包含中文导致乱码问题解决
- 中文字符编码 GB2312 GBK GB18030 BIG5 UNICODE UTF8 UTF16 UTF-32 USC-2 UCS-4