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

    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来处理中文

发表评论

发表评论