今天在MM台湾用户组论坛看到的。
java是使用UTF-16编码,所有coldfusion将中文看作一个字,也就是一个中文字,长度就是1,而不是2,这样我们有时候做东西的时候,就会由于这个长度的不对而初错,解决方法如下:
通过getBytes()函数获取字符串的字节数,那么一个中文是两个字节,自然,得到的长度就正确了。
<cfset english="eshangrao"/>
<cfoutput>#len(english.getBytes())#</cfoutput>
输出:5
<cfset chinese="数字上饶"/>
<cfoutput>正确:#len(chinese.getBytes())#,错误:#len(chinese)#</cfoutput>
输出:8和4