Sql server ColdFusion如何处理UTF-8(多字节)支持?

Sql server ColdFusion如何处理UTF-8(多字节)支持?,sql-server,coldfusion,Sql Server,Coldfusion,我想做一个ColdFusion(10)项目,使其全球化。它应该支持更多的语言,如日语、汉语、西班牙语等。我在互联网上搜索了一下,发现只需添加一行即可轻松实现: <cfprocessingDirective pageencoding="utf-8"> 如果您能提供任何帮助,我将不胜感激。CF侧面: CFBuilder 2或任何像样的文本编辑器将为您插入UTF-8,UTF-8将立即在CF中工作。如果您的文本编辑器不支持插入BOM,则如您所说,使用(作为最后手段) SQL端: 对于CF1

我想做一个ColdFusion(10)项目,使其全球化。它应该支持更多的语言,如日语、汉语、西班牙语等。我在互联网上搜索了一下,发现只需添加一行即可轻松实现:

<cfprocessingDirective pageencoding="utf-8">
如果您能提供任何帮助,我将不胜感激。

CF侧面:

CFBuilder 2或任何像样的文本编辑器将为您插入UTF-8,UTF-8将立即在CF中工作。如果您的文本编辑器不支持插入BOM,则如您所说,使用
(作为最后手段)

SQL端:

对于CF10+,您可以在
中使用
CF\u SQL\u NVARCHAR
。参考:

对于CF9或以下版本,在CF Admin中设置数据源时,字符串格式--为配置为非拉丁字符的数据源启用高ASCII字符和Unicode


然后,任何
的使用将被CF翻译成
N'string'
。但是,在varchar列上构建的任何索引都不会在准备好的语句中使用。

您应该使用参数。@SLaks感谢您的更正。UTF-8可以是1-4字节。但我的问题主要是在ColdFusion中如何处理它。参数是什么意思?参数是什么意思您应该在所有查询参数上使用
cfqueryparam
。它利用绑定变量,其中包括帮助防止sql注入的绑定变量。对于CF10,使用
cfsqltype=“cf\u sql\u nvarchar”
而不是在
N
前面加上前缀。另请参见上的这个问题。@YuanhaiShi:实际上,UTF8是1-6字节。(对于非BMP字符)@YuanhaiShi-这些可能也有助于识别非参数化查询。我正在使用CfBuilder2。但它如何插入utf-8 BOM?自动地我应该打开什么吗?我在ColdFusion网站上读到了类似的说明,但我无法理解。我试图创建一个新的cfm文件并输出一些汉字。它可以正确显示。我查看了cfm文件的属性。发现BOM是utf-8。但是我发现其他现有的CFM没有这个属性。那么,我如何手动向它们添加“BOM”?谢谢.CFBuilder或任何Eclipse:projectproperties->Resource->Text file encoding:UTF-8对于现有的CFM,您可以在CFBuilder中打开它,更改某些内容并保存。BOM将被插入。感谢您的耐心等待。但即使我做了更改并将其保存在CFBuilder2中,也无法将BOM插入现有cfm。有什么想法吗?现有的CFM是用Dreamweaver编写的。
update table 
set name = N 'name'