我想让ColdFusion(10)项目成为全球性的。它应该支持更多的语言,如日语,中文,西班牙语等。我在互联网上搜索,发现可以通过添加一行来轻松完成:
<cfprocessingDirective pageencoding="utf-8">
但它应该在每个cfc或cfms中添加它。我试图在Application.cfc中添加它,但未能显示预期的内容。那么我该怎么做才能支持多种语言?(utf-8)
另外,我需要考虑数据库部分。我将带有字符串的db设计为“nvarchar”。因此,当我插入/设置新值时,我必须在值之前添加“N”。由于它是一个现有的项目,并且有成千上万的书面插入/设置块。如何有效地在每个现有语句中添加“N”?
update table
set name = N 'name'
如果你说任何帮助,我真的很感激。
答案 0 :(得分:1)
CFBuilder 2或任何体面的文本编辑器会为您插入UTF-8 BOM,UTF-8可以立即在CF中使用。如果你的文本编辑器不支持插入BOM,那就像你说的那样,使用<cfprocessingDirective>
(作为最后的手段)
SQL方面:
对于CF10 +,您可以在CF_SQL_NVARCHAR
中使用<cfqueryparam>
。参考:What are the details for using CF_SQL_NVARCHAR in ColdFusion 10?
对于CF9或更低版本,在CF Admin中设置数据源时,字符串格式 - 为配置为非拉丁字符的数据源启用高位ASCII字符和Unicode 。
然后使用任何<cfqueryparam type='CF_SQL_VARCHAR'>
将由CF翻译为N'string'
。但是,在准备好的语句中不会使用在varchar列上构建的任何索引。