Coldfusion MX技巧精华收集(1)第1/5页

 更新时间:2007年03月15日 00:00:00   作者:  
Coldfusion 结合 Access 中文显示问题
作者: Kyle 12/11/02 

内容: 

首先,在每一页要传递和处理中文的页面顶部加上如下代码(也可以放在application.cfm里,但在有些情况下会有问题): 

<cfprocessingdirective pageencoding="gb2312"> 
<cfcontent type="text/html; charset=gb2312"> 
<cfset setEncoding("URL", "gb2312")> 
<cfset setEncoding("Form", "gb2312")> 

注:如果你使用Dreamweaver MX,可以在菜单Insert里用CFPageEncoding来插入以上代码(确认你的Windows系统的地域设置是简体中文)。 

以上步骤无论你是否使用数据库,只要要处理中文变量都需要的。 

下面来解决Ms Access 的问题。 
CFMX的ODBC service, 和ODBC Socket Driver的缺省配置不支持双字节字符,所以就算你加上了以上的代码只是解决了CFMX处理中文的问题,所有传到ODBC的中文还是会有问题,要让ODBC service和ODBC Socket Driver支持中文,必须修改其缺省模式,方法如下: 

确认系统services里ColdFusion MX ODBC Agent 和 ColdFusion MX ODBC Server services两个服务起来了。 

找到你的cfmx安装的路径,如果是c:\Cfusionmx 的话在dos提示符下运行这行命令 

c:/cfusionmx/db/slserver32/admin/setcp.bat OS (注意OS是大写) 

成功的话,会有如下提示: 

DataDirect SequeLink Manager Version 5.2 (build 0092) 
(c) Copyright 1995-2000 MERANT, Inc., All rights reserved 


然后把ColdFusion MX ODBC Agent 和 ColdFusion MX ODBC Server services两个服务重新激活,或把系统重开。 

这时在ms access里用中文就真的没问题了 以上方法在在winnt4+cfmx+access97 和win2k server+cfmx+access2002上均成功。 

注:如果要恢复原来的设置运行如下命令: 
c:/cfusionmx/db/slserver32/admin/setcp.bat default 

要看例子在这里 
http://vvjohn.dyndns.org:8500/study/chinese.cfm 
其它一些关于在cfmx中中文要注意的地方 
cfmx 不允许用中文做文件名 
当然更不能在cfinclude等中使用带中文的文件名。 
不能用使用Encrypt和Decrypt来处理中文

相关文章

最新评论