1--TEST-- 2Bug #47399 (mb_check_encoding() returns true for some illegal SJIS characters) 3--SKIPIF-- 4<?php extension_loaded('mbstring') or die('skip mbstring not available'); ?> 5--FILE-- 6<?php 7foreach (array("Shift_JIS", "CP932") as $enc) { 8 for ($a = 0; $a < 256; $a++) { 9 var_dump(mb_check_encoding("\x81".pack("c", $a), $enc)); 10 } 11} 12?> 13--EXPECT-- 14bool(false) 15bool(false) 16bool(false) 17bool(false) 18bool(false) 19bool(false) 20bool(false) 21bool(false) 22bool(false) 23bool(false) 24bool(false) 25bool(false) 26bool(false) 27bool(false) 28bool(false) 29bool(false) 30bool(false) 31bool(false) 32bool(false) 33bool(false) 34bool(false) 35bool(false) 36bool(false) 37bool(false) 38bool(false) 39bool(false) 40bool(false) 41bool(false) 42bool(false) 43bool(false) 44bool(false) 45bool(false) 46bool(false) 47bool(false) 48bool(false) 49bool(false) 50bool(false) 51bool(false) 52bool(false) 53bool(false) 54bool(false) 55bool(false) 56bool(false) 57bool(false) 58bool(false) 59bool(false) 60bool(false) 61bool(false) 62bool(false) 63bool(false) 64bool(false) 65bool(false) 66bool(false) 67bool(false) 68bool(false) 69bool(false) 70bool(false) 71bool(false) 72bool(false) 73bool(false) 74bool(false) 75bool(false) 76bool(false) 77bool(false) 78bool(true) 79bool(true) 80bool(true) 81bool(true) 82bool(true) 83bool(true) 84bool(true) 85bool(true) 86bool(true) 87bool(true) 88bool(true) 89bool(true) 90bool(true) 91bool(true) 92bool(true) 93bool(true) 94bool(true) 95bool(true) 96bool(true) 97bool(true) 98bool(true) 99bool(true) 100bool(true) 101bool(true) 102bool(true) 103bool(true) 104bool(true) 105bool(true) 106bool(true) 107bool(true) 108bool(true) 109bool(true) 110bool(true) 111bool(true) 112bool(true) 113bool(true) 114bool(true) 115bool(true) 116bool(true) 117bool(true) 118bool(true) 119bool(true) 120bool(true) 121bool(true) 122bool(true) 123bool(true) 124bool(true) 125bool(true) 126bool(true) 127bool(true) 128bool(true) 129bool(true) 130bool(true) 131bool(true) 132bool(true) 133bool(true) 134bool(true) 135bool(true) 136bool(true) 137bool(true) 138bool(true) 139bool(true) 140bool(true) 141bool(false) 142bool(true) 143bool(true) 144bool(true) 145bool(true) 146bool(true) 147bool(true) 148bool(true) 149bool(true) 150bool(true) 151bool(true) 152bool(true) 153bool(true) 154bool(true) 155bool(true) 156bool(true) 157bool(true) 158bool(true) 159bool(true) 160bool(true) 161bool(true) 162bool(true) 163bool(true) 164bool(true) 165bool(true) 166bool(true) 167bool(true) 168bool(true) 169bool(true) 170bool(true) 171bool(true) 172bool(true) 173bool(true) 174bool(true) 175bool(true) 176bool(true) 177bool(true) 178bool(true) 179bool(true) 180bool(true) 181bool(true) 182bool(true) 183bool(true) 184bool(true) 185bool(true) 186bool(true) 187bool(true) 188bool(true) 189bool(true) 190bool(true) 191bool(true) 192bool(true) 193bool(true) 194bool(true) 195bool(true) 196bool(true) 197bool(true) 198bool(true) 199bool(true) 200bool(true) 201bool(true) 202bool(true) 203bool(true) 204bool(true) 205bool(true) 206bool(true) 207bool(true) 208bool(true) 209bool(true) 210bool(true) 211bool(true) 212bool(true) 213bool(true) 214bool(true) 215bool(true) 216bool(true) 217bool(true) 218bool(true) 219bool(true) 220bool(true) 221bool(true) 222bool(true) 223bool(true) 224bool(true) 225bool(true) 226bool(true) 227bool(true) 228bool(true) 229bool(true) 230bool(true) 231bool(true) 232bool(true) 233bool(true) 234bool(true) 235bool(true) 236bool(true) 237bool(true) 238bool(true) 239bool(true) 240bool(true) 241bool(true) 242bool(true) 243bool(true) 244bool(true) 245bool(true) 246bool(true) 247bool(true) 248bool(true) 249bool(true) 250bool(true) 251bool(true) 252bool(true) 253bool(true) 254bool(true) 255bool(true) 256bool(true) 257bool(true) 258bool(true) 259bool(true) 260bool(true) 261bool(true) 262bool(true) 263bool(true) 264bool(true) 265bool(true) 266bool(true) 267bool(false) 268bool(false) 269bool(false) 270bool(false) 271bool(false) 272bool(false) 273bool(false) 274bool(false) 275bool(false) 276bool(false) 277bool(false) 278bool(false) 279bool(false) 280bool(false) 281bool(false) 282bool(false) 283bool(false) 284bool(false) 285bool(false) 286bool(false) 287bool(false) 288bool(false) 289bool(false) 290bool(false) 291bool(false) 292bool(false) 293bool(false) 294bool(false) 295bool(false) 296bool(false) 297bool(false) 298bool(false) 299bool(false) 300bool(false) 301bool(false) 302bool(false) 303bool(false) 304bool(false) 305bool(false) 306bool(false) 307bool(false) 308bool(false) 309bool(false) 310bool(false) 311bool(false) 312bool(false) 313bool(false) 314bool(false) 315bool(false) 316bool(false) 317bool(false) 318bool(false) 319bool(false) 320bool(false) 321bool(false) 322bool(false) 323bool(false) 324bool(false) 325bool(false) 326bool(false) 327bool(false) 328bool(false) 329bool(false) 330bool(false) 331bool(false) 332bool(false) 333bool(false) 334bool(true) 335bool(true) 336bool(true) 337bool(true) 338bool(true) 339bool(true) 340bool(true) 341bool(true) 342bool(true) 343bool(true) 344bool(true) 345bool(true) 346bool(true) 347bool(true) 348bool(true) 349bool(true) 350bool(true) 351bool(true) 352bool(true) 353bool(true) 354bool(true) 355bool(true) 356bool(true) 357bool(true) 358bool(true) 359bool(true) 360bool(true) 361bool(true) 362bool(true) 363bool(true) 364bool(true) 365bool(true) 366bool(true) 367bool(true) 368bool(true) 369bool(true) 370bool(true) 371bool(true) 372bool(true) 373bool(true) 374bool(true) 375bool(true) 376bool(true) 377bool(true) 378bool(true) 379bool(true) 380bool(true) 381bool(true) 382bool(true) 383bool(true) 384bool(true) 385bool(true) 386bool(true) 387bool(true) 388bool(true) 389bool(true) 390bool(true) 391bool(true) 392bool(true) 393bool(true) 394bool(true) 395bool(true) 396bool(true) 397bool(false) 398bool(true) 399bool(true) 400bool(true) 401bool(true) 402bool(true) 403bool(true) 404bool(true) 405bool(true) 406bool(true) 407bool(true) 408bool(true) 409bool(true) 410bool(true) 411bool(true) 412bool(true) 413bool(true) 414bool(true) 415bool(true) 416bool(true) 417bool(true) 418bool(true) 419bool(true) 420bool(true) 421bool(true) 422bool(true) 423bool(true) 424bool(true) 425bool(true) 426bool(true) 427bool(true) 428bool(true) 429bool(true) 430bool(true) 431bool(true) 432bool(true) 433bool(true) 434bool(true) 435bool(true) 436bool(true) 437bool(true) 438bool(true) 439bool(true) 440bool(true) 441bool(true) 442bool(true) 443bool(true) 444bool(true) 445bool(true) 446bool(true) 447bool(true) 448bool(true) 449bool(true) 450bool(true) 451bool(true) 452bool(true) 453bool(true) 454bool(true) 455bool(true) 456bool(true) 457bool(true) 458bool(true) 459bool(true) 460bool(true) 461bool(true) 462bool(true) 463bool(true) 464bool(true) 465bool(true) 466bool(true) 467bool(true) 468bool(true) 469bool(true) 470bool(true) 471bool(true) 472bool(true) 473bool(true) 474bool(true) 475bool(true) 476bool(true) 477bool(true) 478bool(true) 479bool(true) 480bool(true) 481bool(true) 482bool(true) 483bool(true) 484bool(true) 485bool(true) 486bool(true) 487bool(true) 488bool(true) 489bool(true) 490bool(true) 491bool(true) 492bool(true) 493bool(true) 494bool(true) 495bool(true) 496bool(true) 497bool(true) 498bool(true) 499bool(true) 500bool(true) 501bool(true) 502bool(true) 503bool(true) 504bool(true) 505bool(true) 506bool(true) 507bool(true) 508bool(true) 509bool(true) 510bool(true) 511bool(true) 512bool(true) 513bool(true) 514bool(true) 515bool(true) 516bool(true) 517bool(true) 518bool(true) 519bool(true) 520bool(true) 521bool(true) 522bool(true) 523bool(false) 524bool(false) 525bool(false) 526