UTF-8与cfprocessingdirective
作者:Flying 日期:2006-12-18
今天用DW 8编写了一个包含中文CFML页面,保存为UTF-8,结果在CF7上运行出现乱码。用记事本保存为UTF-8,居然显示正常。怪了,什么时候Adobe与MS走得近了?看来是DW 8的问题了。这里提供另一种再好的方法:在页面head加<cfprocessingdirective pageencoding="utf-8"></cfprocessingdirective>即可。我索性学习了一下cfprocessingdirective标记,特总结了一下,仅供参考。
1. 功能:表明当前页面的编码方式和是否去掉标记之间的空格。
2. 历史:CF6开始使用,CF5中是作为一个常数使用
3. 属性
- PageEncoding(字符串):表明当前页面的编码方式,值如果不为空,则默认为当前页面的BOM( byte odder mark),否则为系统默认编码。
- suppressWhiteSpace(布尔值):表明是否去掉标记之间的空格。
4. 注意
- cfprocessingdirective标记有4K限制,可以放在cfsetting 或 cfsilent标记中;
- 如果将cfprocessingdirective标记导入另外一个页面,不会产生作用;
- PageEncoding属性对整个页面都有效,不仅仅局限于body注意一个页面的。
- 你不能为对该标签使用条件语句。因为页面一旦被编译,其PageEncoding属性不会再改变;
- 如果多处使用cfprocessingdirective标记,必须保证其PageEncoding属性一致;
- 如果只使用PageEncoding属性,不要关闭标记;
- CF接受Java 平台支持的合法编码;
- 如果页面有BOM,PageEncoding属性必须和它保持一致;
- suppressWhiteSpace属性也可以为变量;
- suppressWhiteSpace属性对<cfprocessingdirective></cfprocessingdirective>之间的代码有效,一旦用了该属性<cfprocessingdirective></cfprocessingdirective>之间必须有字符。
5.范例
<cfprocessingdirective pageencoding="utf-8" suppresswhitespace="yes"> <cfset firstName="白"> <cfset lastName="李"> <cfset fullName=variables.firstName&" "&variables.lastName> <cfoutput>my fullname is #fullName#</cfoutput> </cfprocessingdirective>
更正:乱码的问题不在于DW,请选择“编辑”〉“参数首选”〉“新建文档”,勾选包括Unicode签名(BOM)即可解决这个问题。
上一篇: Flash Remoting支持的远程服务
下一篇: Amfphp 1.9 beta
文章来自: 本站原创
Tags: ColdFusion Dreamweaver
相关日志:
评论: 0 | 引用: 0 | 查看次数: -
发表评论

