Opened 4 years ago
Closed 4 years ago
#52131 closed defect (bug) (duplicate)
wp_check_invalid_utf8() - PHP Notice: iconv()
Reported by: |
|
Owned by: | |
---|---|---|---|
Milestone: | Priority: | normal | |
Severity: | normal | Version: | 5.6 |
Component: | Formatting | Keywords: | |
Focuses: | Cc: |
Description
Hello. I test the function and php issues warnings.
13 examples:
$examples = [ 'Valid ASCII' => "a", 'Valid 2 Octet Sequence' => "\xc3\xb1", 'Invalid 2 Octet Sequence' => "\xc3\x28", 'Invalid Sequence Identifier' => "\xa0\xa1", 'Valid 3 Octet Sequence' => "\xe2\x82\xa1", 'Invalid 3 Octet Sequence (in 2nd Octet)' => "\xe2\x28\xa1", 'Invalid 3 Octet Sequence (in 3rd Octet)' => "\xe2\x82\x28", 'Valid 4 Octet Sequence' => "\xf0\x90\x8c\xbc", 'Invalid 4 Octet Sequence (in 2nd Octet)' => "\xf0\x28\x8c\xbc", 'Invalid 4 Octet Sequence (in 3rd Octet)' => "\xf0\x90\x28\xbc", 'Invalid 4 Octet Sequence (in 4th Octet)' => "\xf0\x28\x8c\x28", 'Valid 5 Octet Sequence (but not Unicode!)' => "\xf8\xa1\xa1\xa1\xa1", 'Valid 6 Octet Sequence (but not Unicode!)' => "\xfc\xa1\xa1\xa1\xa1\xa1", ]; $result = []; foreach ( $examples as $key => $value ) { $result[ $key ] = wp_check_invalid_utf8( $value, true ); }
Result (4 not empty lines):
Array ( [Valid ASCII] => a [Valid 2 Octet Sequence] => ñ [Invalid 2 Octet Sequence] => [Invalid Sequence Identifier] => [Valid 3 Octet Sequence] => ₡ [Invalid 3 Octet Sequence (in 2nd Octet)] => [Invalid 3 Octet Sequence (in 3rd Octet)] => [Valid 4 Octet Sequence] => 𐌼 [Invalid 4 Octet Sequence (in 2nd Octet)] => [Invalid 4 Octet Sequence (in 3rd Octet)] => [Invalid 4 Octet Sequence (in 4th Octet)] => [Valid 5 Octet Sequence (but not Unicode!)] => [Valid 6 Octet Sequence (but not Unicode!)] => )
The following errors are displayed in the logs (9):
Notice: iconv(): Detected an illegal character in input string in ...\wp-includes\formatting.php on line 1131 Notice: iconv(): Detected an illegal character in input string in ...\wp-includes\formatting.php on line 1131 Notice: iconv(): Detected an illegal character in input string in ...\wp-includes\formatting.php on line 1131 Notice: iconv(): Detected an illegal character in input string in ...\wp-includes\formatting.php on line 1131 Notice: iconv(): Detected an illegal character in input string in ...\wp-includes\formatting.php on line 1131 Notice: iconv(): Detected an illegal character in input string in ...\wp-includes\formatting.php on line 1131 Notice: iconv(): Detected an illegal character in input string in ...\wp-includes\formatting.php on line 1131 Notice: iconv(): Detected an illegal character in input string in ...\wp-includes\formatting.php on line 1131 Notice: iconv(): Detected an illegal character in input string in ...\wp-includes\formatting.php on line 1131
If you do not use the second argument of the function, then everything is fine.
The warning generates the following code section:
// Attempt to strip the bad chars if requested (not recommended). if ( $strip && function_exists( 'iconv' ) ) { return iconv( 'utf-8', 'utf-8', $string ); }
Change History (1)
Note: See
TracTickets for help on using
tickets.
Hi there, thanks for the report!
We're already tracking this issue in #11175 and #29717.