Opened 5 years ago
Closed 5 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.