mirror of
https://github.com/php/php-src.git
synced 2026-03-27 01:32:22 +01:00
Merge branch 'PHP-7.2'
* PHP-7.2: Fix #62545: wrong unicode mapping in some charsets
This commit is contained in:
@@ -30,7 +30,7 @@ static const unsigned short cp1251_ucs_table[] = {
|
||||
0x0402, 0x0403, 0x201a, 0x0453, 0x201e, 0x2026, 0x2020, 0x2021,
|
||||
0x20ac, 0x2030, 0x0409, 0x2039, 0x040a, 0x040c, 0x040b, 0x040f,
|
||||
0x0452, 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2013, 0x2014,
|
||||
0x003f, 0x2122, 0x0459, 0x203a, 0x045a, 0x045c, 0x045b, 0x045f,
|
||||
0xfffd, 0x2122, 0x0459, 0x203a, 0x045a, 0x045c, 0x045b, 0x045f,
|
||||
0x00a0, 0x040e, 0x045e, 0x0408, 0x00a4, 0x0490, 0x00a6, 0x00a7,
|
||||
0x0401, 0x00a9, 0x0404, 0x00ab, 0x00ac, 0x00ad, 0x00ae, 0x0407,
|
||||
0x00b0, 0x00b1, 0x0406, 0x0456, 0x0491, 0x00b5, 0x00b6, 0x00b7,
|
||||
|
||||
@@ -32,9 +32,9 @@
|
||||
* as it only covers this range, while the rest cover 0xa0 onwards */
|
||||
|
||||
static const unsigned short cp1252_ucs_table[] = {
|
||||
0x20ac,0xfffe,0x201a,0x0192,0x201e,0x2026,0x2020,0x2021,
|
||||
0x02c6,0x2030,0x0160,0x2039,0x0152,0xfffe,0x017d,0xfffe,
|
||||
0xfffe,0x2018,0x2019,0x201c,0x201d,0x2022,0x2013,0x2014,
|
||||
0x02dc,0x2122,0x0161,0x203a,0x0153,0xfffe,0x017e,0x0178
|
||||
0x20ac,0xfffd,0x201a,0x0192,0x201e,0x2026,0x2020,0x2021,
|
||||
0x02c6,0x2030,0x0160,0x2039,0x0152,0xfffd,0x017d,0xfffd,
|
||||
0xfffd,0x2018,0x2019,0x201c,0x201d,0x2022,0x2013,0x2014,
|
||||
0x02dc,0x2122,0x0161,0x203a,0x0153,0xfffd,0x017e,0x0178
|
||||
};
|
||||
#endif /* UNICODE_TABLE_CP1252_H */
|
||||
|
||||
18
ext/mbstring/tests/bug62545.phpt
Normal file
18
ext/mbstring/tests/bug62545.phpt
Normal file
@@ -0,0 +1,18 @@
|
||||
--TEST--
|
||||
Bug #62545 (wrong unicode mapping in some charsets)
|
||||
--SKIPIF--
|
||||
<?php
|
||||
if (!extension_loaded('mbstring')) die('skip mbstring extension not available');
|
||||
?>
|
||||
--FILE--
|
||||
<?php
|
||||
var_dump(
|
||||
bin2hex(mb_convert_encoding("\x98", 'UTF-8', 'Windows-1251')),
|
||||
bin2hex(mb_convert_encoding("\x81\x8d\x8f\x90\x9d", 'UTF-8', 'Windows-1252'))
|
||||
);
|
||||
?>
|
||||
===DONE===
|
||||
--EXPECT--
|
||||
string(6) "efbfbd"
|
||||
string(30) "efbfbdefbfbdefbfbdefbfbdefbfbd"
|
||||
===DONE===
|
||||
Reference in New Issue
Block a user