什么是服务现在 SNOW 输入中的字符限制和受限字符

Posted

技术标签:

【中文标题】什么是服务现在 SNOW 输入中的字符限制和受限字符【英文标题】:What is the service now character limits and restricted characters in SNOW input 【发布时间】:2016-11-06 21:30:07 【问题描述】:

全部,

谁能告诉我 SNOW 中字符串或多行字符输入字符串的字符限制是多少。

从文档中可以看出,多行文本字段的字符串长度为 4000,字符串字段的长度为 40。

任何人都可以确认。还有输入中限制的字符是什么??

【问题讨论】:

【参考方案1】:

String 的主题可能会有点特定于您的用例。我假设您使用的是 Eureka,但如果是另一个,请务必提及。

来自http://wiki.servicenow.com/index.php?title=Introduction_to_Fields#Increasing_the_Length

对于 254 个字符或更少,字符串字段将为单行 文本域。任何 255 个字符或以上的字符都将显示为 多行文本框。

那么String 限制取决于您的实例在哪个数据库上运行。 Oracle 限制为 4000 个字符,但您可以向 ServiceNow 提出请求以增加特定字段的大小。在这种情况下,他们需要自己更改数据类型。

对于在 mysql 上运行的实例,您自己拥有更大的灵活性。

看一下ServiceNow字段类型和MySQL之间的引用。 http://wiki.servicenow.com/index.php?title=Introduction_to_Fields#Database_Field_Types

尤其是String 类型

Field Type  Options     Dictionary  MySQL DB Type
String      small       string      VARCHAR(40)
String      medium      string      VARCHAR(100)
String      large       string      MEDIUMTEXT
String      extralarge  string      MEDIUMTEXT

如果您选择 largeextralarge 类型,您的字段将使用 MEDIUMTEXT 的 MySQL 字段,基于此问题 Maximum length for MySQL type text,该字段具有以下限制

MEDIUMTEXT - 16,777,215 bytes

这会涉及您输入到字段中的数据类型。我相信 ServiceNow 对字符使用 UTF8,因此如果您通常仅限于单字节字符,则可以存储那么多字符。

如果您使用多字节字符,可用的字符会更少,但仍然不少。

使用大量字符时要小心,因为这可能会影响性能。如果适用,请考虑使用 Journal 字段。

【讨论】:

如果您托管在 mysql 上,您将使用“utf8”,不幸的是它只支持 3 字节字符(包括基本的多语言平面)。 UTF8 规范现在包括 4 字节字符。如果确实需要 4 字节字符,则需要将 servicenow 中的 internal_type 更改为“string_full_utf8”,它使用编码来适应在 3 字节字符空间中存储 4 字节字符。

以上是关于什么是服务现在 SNOW 输入中的字符限制和受限字符的主要内容,如果未能解决你的问题,请参考以下文章

流概述与字节流输入输出

芯学苑:浅析Java字节流和字符流

Java中字符流与字节流的区别

理解Java中字符流与字节流的区别

理解Java中字符流与字节流的区别(转)

输入长度受限情况下的 XSS 攻击