-
Notifications
You must be signed in to change notification settings - Fork 11
Open
Description
Hi!
When saving flex-objects data with JSON formatter we are allowed to set some options like file_extension, encode_options, decode_assoc, etc. The thing is, encode_options param is not handled. Example:
storage:
class: 'Grav\Framework\Flex\Storage\FolderStorage'
options:
formatter:
class: 'Grav\Framework\File\Formatter\JsonFormatter'
options:
encode_options: 'JSON_UNESCAPED_UNICODE' # See https://www.php.net/manual/en/function.json-encode.php
folder: user-data://contacts
Encode options are useful when dealing with non-latin symbols, like Cyrillic. By default Cyrillic is escaped to \u123456. So the JSON looks completely gibberish:
Setting encode_options: 'JSON_UNESCAPED_UNICODE' (int 256) should help with that, unless it won't.
All the constants like 'JSON_UNESCAPED_UNICODE' => JSON_UNESCAPED_UNICODE are defined in 'Grav\Framework\File\Formatter\JsonFormatter', but it is never called. Instead grav\vendor\rockettheme\toolbox\File\src\JsonFile.php is used. And the encoding options are never passed to it:
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels

