We are running in to a problem when copying files to a CIFS share running on CDOT 9.4. All files that contains 'special' characters in the file name is rejected. We need to store forensics dumps of cell phone data with emojis and other off the wall characters. As these are evidence, we cannot alter the files to comply with the base UTF character set that NetApp uses
The email alert (see below) that gets generated has some steps to enable UTF surrogate pairs, but the syntax isn't valid (as far as I can tell) for CDOT 9.4. So, I have two/three questions:
1. What is the ramification of enabling UTF surrogate pairs (should we do it)?
2. What is the proper syntax to implement the change?
2.a. How do we make the change persistent across reboots?
Cause: clustered Data ONTAP prior to 9.5 supports only Unicode from the basic multilingual plane (UCS-2), so it does not handle Unicode that requires more than 16 bits to represent a character, such as emojis and other surrogate pairs.
Solution 9.5 added a new volume language utf8mb4.
As you have 9.4, following workaround is suggested:
Workaround: ::> node run -node <Node name> Filer> priv set diag Filer*> setflag wafl_reject_surrogate_pair 0 Filer*> printflag wafl_reject_surrogate_pair wafl_reject_surrogate_pair =0
To make this change persistent across reboots, add the following command to the /etc/rc file: priv set diag;setflag wafl_reject_surrogate_pair 0;priv set admin
Thanks for that link. That's just the article I was looking for. If I'm understanding this correctly, we would need to upgrade to 9.5+, and also create a new volume for the CIFS share, correct? In that scenario it seems we would no longer need to use setflag wafl_reject_surrogate_pair 0 . Is that also a correct statement?
With 7-mode, we could change the existing vol language and had to reboot. However, with cDOT, vol language cannot be changed. In cDOT, vol language is inherited from SVM language, that could be change but will onyl allow new volumes to inherit it but existing will remain the same.
Therefore, I agree with you - Upgrade to 9.5 and then create a new volume with language 'utf8mb4'.