Ticket #32051: 32051.2.diff
File 32051.2.diff, 2.4 KB (added by , 10 years ago) |
---|
-
src/wp-includes/wp-db.php
2462 2462 $mb_charsets = array( 2463 2463 'ascii' => 'ASCII', 2464 2464 'big5' => 'BIG-5', 2465 'cp1251' => 'CP1251', 2466 'cp866' => 'CP866', 2467 'cp932' => 'CP932', 2465 2468 'eucjpms' => 'eucJP-win', 2469 'euckr' => 'EUC-KR', 2466 2470 'gb2312' => 'EUC-CN', 2471 'greek' => 'ISO-8859-7', 2472 'hebrew' => 'ISO-8859-2', 2473 'koi8r' => 'KOI8-R', 2474 'latin2' => 'ISO-8859-2', 2475 'latin5' => 'ISO-8859-9', 2476 'latin7' => 'ISO-8859-13', 2477 'sjis' => 'SJIS', 2467 2478 'ujis' => 'EUC-JP', 2468 2479 'utf32' => 'UTF-32', 2469 2480 ); … … 2534 2545 2535 2546 if ( $db_check_string ) { 2536 2547 $queries = array(); 2537 foreach ( $data as $col => $value ) {2548 foreach ( $data as $col => &$value ) { 2538 2549 if ( ! empty( $value['db'] ) ) { 2539 2550 if ( ! isset( $queries[ $value['charset'] ] ) ) { 2540 2551 $queries[ $value['charset'] ] = array(); … … 2542 2553 2543 2554 // Split the CONVERT() calls by charset, so we can make sure the connection is right 2544 2555 $queries[ $value['charset'] ][ $col ] = $this->prepare( "CONVERT( %s USING {$value['charset']} )", $value['value'] ); 2556 unset( $value['db'] ); 2545 2557 } 2546 2558 } 2547 2559 -
tests/phpunit/tests/db/charset.php
55 55 'expected' => "H€llo\xf0\x9f\x98\x88World¢" 56 56 ), 57 57 'koi8r' => array( 58 // koi8r is a character set that needs to be checked in MySQL59 58 'charset' => 'koi8r', 60 59 'value' => "\xfdord\xf2ress", 61 60 'expected' => "\xfdord\xf2ress", 62 'db' => true63 61 ), 64 62 'hebrew' => array( 65 // hebrew needs to be checked in MySQL, too66 63 'charset' => 'hebrew', 67 64 'value' => "\xf9ord\xf7ress", 68 65 'expected' => "\xf9ord\xf7ress", 69 'db' => true70 66 ), 67 'cp1251' => array( 68 'charset' => 'cp1251', 69 'value' => "\xd8ord\xd0ress", 70 'expected' => "\xd8ord\xd0ress", 71 ), 72 'tis620' => array( 73 'charset' => 'tis620', 74 'value' => "\xccord\xe3ress", 75 'expected' => "\xccord\xe3ress", 76 ), 71 77 'false' => array( 72 78 // false is a column with no character set (ie, a number column) 73 79 'charset' => false,