2

我想让 ColdFusion(10) 项目成为全球性的。它应该支持更多的语言,如日语、汉语、西班牙语等。我在网上搜索,发现添加一行就可以轻松完成:

<cfprocessingDirective pageencoding="utf-8">

但它应该在每个 cfc 或 cfms 中添加它。我尝试在 Application.cfc 中添加它,但未能显示预期的内容。那么我可以做些什么来支持多种语言呢?(utf-8)

另外,我需要考虑数据库部分。我将带有字符串的数据库设计为“nvarchar”。因此,当我插入/设置新值时,我必须在值之前添加一个“N”。由于它是一个现有项目,并且有数千个写入的插入/设置块。如何有效地在每个现有语句中添加“N”?

update table 
set name = N 'name'

如果您有任何帮助,我将不胜感激。

4

1 回答 1

1

CF侧:

CFBuilder 2 或任何体面的文本编辑器都会为您插入 UTF-8 BOM,而 UTF-8 会立即在 CF 中工作。如果您的文本编辑器不支持插入 BOM,那么就像您说的那样,使用<cfprocessingDirective>(作为最后的手段)

SQL端:

对于 CF10+,您可以CF_SQL_NVARCHAR<cfqueryparam>. ref:在 ColdFusion 10 中使用 CF_SQL_NVARCHAR 的详细信息是什么?

对于 CF9 或更低版本,当在 CF Admin 中设置数据源时,String Format -- Enable High ASCII characters and Unicode for data sources configured for non-Latin characters

然后使用any<cfqueryparam type='CF_SQL_VARCHAR'>会被N'string'CF翻译成。但是,在准备好的语句中不会使用在 varchar 列上构建的任何索引。

于 2013-06-24T19:44:34.130 回答