Error when the user entered a special character(4-Byte UTF-8 Unicode Encoding)
Posted: Fri Jul 19, 2019 6:39 am
I'm using:
- ProcessMaker Ver 3.2.1 Comminity
- Operating System: Red Hat Enterprise Linux Server release 7.5 (Maipo) (Linux)
- Web Server: Apache/2.4.6
I tested the case as follows:
- User enter: "test case 1 " or "test case 2 "
- Save dynaform.
I check table application:APP_DATA: User data entered has been lost
I check log: __ERROR__ => preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead
I have read mysql documentation:
"The “utf8” encoding only supports three bytes per character. The real UTF-8 encoding — which everybody uses, including you — needs up to four bytes per character."
I tried the following command but failed:
ALTER TABLE application MODIFY APP_DATA mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE app_history MODIFY HISTORY_DATA mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
Has anyone encountered a similar case?
What is your solution?
- ProcessMaker Ver 3.2.1 Comminity
- Operating System: Red Hat Enterprise Linux Server release 7.5 (Maipo) (Linux)
- Web Server: Apache/2.4.6
I tested the case as follows:
- User enter: "test case 1 " or "test case 2 "
- Save dynaform.
I check table application:APP_DATA: User data entered has been lost
I check log: __ERROR__ => preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead
I have read mysql documentation:
"The “utf8” encoding only supports three bytes per character. The real UTF-8 encoding — which everybody uses, including you — needs up to four bytes per character."
I tried the following command but failed:
ALTER TABLE application MODIFY APP_DATA mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE app_history MODIFY HISTORY_DATA mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
Has anyone encountered a similar case?
What is your solution?