Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Insert excerpt
_Banners
_Banners
namephixScript
nopaneltrue

4-byte Characters in Different Databases

PhixFlow stores its data in a database. The recommended database configurations, described on the Database pagethe database pages in Infrastructure Planning and Delivery, mean your instance of PhixFlow can store UTF8 characters in its database. However, the different databases handle 4-byte characters (such as emojis) differently. 

DatabaseBehaviourBehavior
OracleStores 4-byte characters correctly.
SQL ServerDiscards or converts 4-byte characters.
MariaDB

Fails to store 4-byte characters because it only recognises a sub-set of UTF8 (UTF8mb3/UTF8mb4).

If you are loading data from another database, a file or emails, you will need to either escape or remove any invalid characters before writing to PhixFlow running on MariaDB.

For information about how to excape escape characters, see Text Expressions and Escape Characters.

Removing Characters

The following regex lists the characters expected in a JSON file and removes invalid characters from it. You could adapt this regex to validate an the data that you want to load into PhixFlow.

Code Block
titleValidating Characters
replaceAll(JSON Code,"[^\\p{Space}0-9A-Za-z!:\\\"%&\\[*()\\],-/_\\\\{}\\.]","")

For information about how this line uses escape characters, see Regular Expressions.

An alternative expression for matching characters that are valid in MariaDB is:

Code Block
[^\u0000-\u0FFF]