# Include

Include/Must\_Include 变量指定一个文件，其中包含应包含在脚本中并作为脚本代码计算的文本。它不用于添加数据。您可以将部分脚本代码存储在单独的文本文件中，并可以在多个应用程序中重复使用它。 这是用户定义的变量。

信息注释在Qlik Sense 和Qlik Sense Desktop 中，该变量仅支持对文件夹数据连接的引用。不支持引用基于云的存储提供者中的文件。

语法：

$(Include=filename)

$(Must\_Include=filename)

变量有两个版本：

* Include 在找不到文件的情况下不会生成错误，而会静默失败。
* Must\_Include 在找不到文件的情况下会生成错误。

如果不指定路径，文件名将相对于 Qlik Sense 应用程序工作目录。也可以指定绝对文件路径，或者 lib:// 文件夹连接的路径。请勿在等于号前后输入空格字符。

信息注释结构 set Include =filename 不适用。

示例：

$(Include=abc.txt);

$(Must\_Include=lib://DataFiles/abc.txt);

## 限制

### Windows 和 Linux 下 UTF-8 编码文件之间的交叉兼容性有限。

可以选择将 UTF-8 与 BOM（字节顺序标记）一起使用。BOM 可能会干扰 UTF-8 在软件中的使用，该软件不希望在文件的开头使用非 ASCII 字节，但可以处理文本流。

* Windows 系统使用 UTF-8 中的 BOM 来标识文件是 UTF-8 编码的，尽管字节存储中没有歧义。

* Unix/Linux 对 Unicode 使用 UTF-8，但不使用 BOM，因为这会干扰命令文件的语法。

这对 Qlik Sense 有一些意义。

* 在 Windows 中，任何以 UTF-8 BOM 开头的文件都被视为 UTF-8 脚本文件。否则会假设 ANSI 编码。

* 在 Linux 中，系统默认的 8 位代码页是 UTF-8。这就是为什么 UTF-8 可以工作的原因，尽管它不包含 BOM。

因此，无法保证便携性。在 Windows 上创建一个可以被 Linux 解释的文件并非总是可能，反之亦然。由于对 BOM 的不同处理，两个系统之间对于 UTF-8 编码文件没有交叉兼容性。

有关详细信息，请参阅[字节顺序标记](https://en.wikipedia.org/wiki/Byte_order_mark)。