+# # Check if the string is a valid UTF8 string.
+#
+# if ($variable_data =~ m/^(
+# [\x09\x0A\x0D\x20-\x7E] # ASCII
+# | [\xC2-\xDF][\x80-\xBF] # non-overlong 2-byte
+# | \xE0[\xA0-\xBF][\x80-\xBF] # excluding overlongs
+# | [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2} # straight 3-byte
+# | \xED[\x80-\x9F][\x80-\xBF] # excluding surrogates
+# | \xF0[\x90-\xBF][\x80-\xBF]{2} # planes 1-3
+# | [\xF1-\xF3][\x80-\xBF]{3} # planes 4-15
+# | \xF4[\x80-\x8F][\x80-\xBF]{2} # plane 16
+# )*$/x){
+#
+# # The UTF-8 string is valid.
+#
+# } else {
+#
+# # The UTF-8 string is not valid, check if the no error
+# # value is set to 1 and return an error if it isn't.
+#
+# if ($variable_noerror eq 1){
+#
+# # The no error value has been set to 1, so return
+# # a value of 1 (meaning that the UTF-8 string is
+# # invalid).
+#
+# return 1;
+#
+# } elsif ($variable_noerror eq 0) {
+#
+# # The no error value has been set to 0, so return
+# # an error.
+#
+# kiriwrite_error("invalidutf8");
+#
+# } else {
+#
+# # The no error value is something else other than 0
+# # or 1, so return an error.
+#
+# kiriwrite_error("invalidoption");
+#
+# }
+#
+# }
+