Coldfusion结合Access中文显示问题
作者:Kyle12/11/02
内容:
首先,在每一页要传递和处理中文的页面顶部加上如下代码(也可以放在application.cfm里,但在有些情况下会有问题):
<cfprocessingdirectivepageencoding="gb2312">
<cfcontenttype="text/html;charset=gb2312">
<cfsetsetEncoding("URL","gb2312")>
<cfsetsetEncoding("Form","gb2312")>
注:如果你使用DreamweaverMX,可以在菜单Insert里用CFPageEncoding来插入以上代码(确认你的Windows系统的地域设置是简体中文)。
以上步骤无论你是否使用数据库,只要要处理中文变量都需要的。
下面来解决MsAccess的问题。
CFMX的ODBCservice,和ODBCSocketDriver的缺省配置不支持双字节字符,所以就算你加上了以上的代码只是解决了CFMX处理中文的问题,所有传到ODBC的中文还是会有问题,要让ODBCservice和ODBCSocketDriver支持中文,必须修改其缺省模式,方法如下:
确认系统services里ColdFusionMXODBCAgent和ColdFusionMXODBCServerservices两个服务起来了。
找到你的cfmx安装的路径,如果是c:Cfusionmx的话在dos提示符下运行这行命令
c:/cfusionmx/db/slserver32/admin/setcp.batOS(注意OS是大写)
成功的话,会有如下提示:
DataDirectSequeLinkManagerVersion5.2(build0092)
(c)Copyright1995-2000MERANT,Inc.,Allrightsreserved
然后把ColdFusionMXODBCAgent和ColdFusionMXODBCServerservices两个服务重新激活,或把系统重开。
这时在msaccess里用中文就真的没问题了以上方法在在winnt4+cfmx+access97和win2kserver+cfmx+access2002上均成功。
注:如果要恢复原来的设置运行如下命令:
c:/cfusionmx/db/slserver32/admin/setcp.batdefault
要看例子在这里
http://vvjohn.dyndns.org:8500/study/chinese.cfm
其它一些关于在cfmx中中文要注意的地方
cfmx不允许用中文做文件名
当然更不能在cfinclude等中使用带中文的文件名。
不能用使用Encrypt和Decrypt来处理中文
当前1/5页12345下一页阅读全文