Wordpress dose not allow username in Chinese, Japanese. The error message will be presented if the username contains Chinese in registration: "This username is invalid because it users illegal characters." The function validates the username is called "sanitize_user" in formatting.php under wp-includes folder. However, we should not modify this code directly, for wordpress updates would overrite the code. function sanitize_user( $username, $strict = false ) { $raw_username = $username; $username = wp_strip_all_tags( $username ); $username = remove_accents( $username ); // Kill octets. $username = preg_replace( '|%([a-fA-F0-9][a-fA-F0-9])|', '', $username ); // Kill entities. $username = preg_replace( '/&.+?;/', '', $username ); // If strict, reduce to ASCII for max portability. if ( $strict ) { $username = preg_replace( '|[^a-z0-9 _.\-@]|i', '', $username ); } $username = trim( $username ); // Consolidate contiguous whitespace. $username = preg_replace( '|\s+|', ' ', $username ); /** * Filters a sanitized username string. * * @since 2.0.1 * * @param string $username Sanitized username. * @param string $raw_username The username prior to sanitization. * @param bool $strict Whether to limit the sanitization to specific characters. */ return apply_filters( 'sanitize_user', $username, $raw_username, $strict ); } Solution Download plugin "Code Snippets", add new php code as following and enable it: add_filter('sanitize_user','non_strict_login',10,3); function non_strict_login($username, $raw_username, $strict){ if(!$strict) return $username; return sanitize_user(stripslashes($raw_username), false); } In this case when user register username in Chinese the function non_strict_login will be called, it passes in $strict parameter as false to by pass the sanitize_user function. The code will be stored in option_value in database table wp_options, option_name = 'wpcode_snippets'.