• Witam,

    Natrafiłem ostatnio na problem polegający na tym, że kiedy importuję do WordPressa pliki JPG z tytułem zawartym w danych exif, to wszelkie polskie znaki zamieniane są na przysłowiowe robaczki. Chciałbym dowiedzieć się w czym tkwi problem. Niestety żaden ze znanych mi programów do edycji danych exif nie umożliwia wyboru kodowania znaków.
    Dodam, że poza tym jednym wyjątkiem nie mam żadnych problemów w polskimi znakami oraz że używam w WP kodowania UTF-8.

Viewing 1 replies (of 1 total)
  • Witam.
    Nie pamiętam gdzie na to natrafiłem – wybaczcie. Zapewne Exif jest zapisany z użyciem kodowania win-1250 (cp1250), zatem przed jakąkolwiek obróbką należałoby przekonwertować tytuły albo do UTF-8 (jeżeli w bazie są zapisywane faktycznie w tym formacie) albo do ISO-8859-2.

    Konwersja cp1250->UTF-8:

    <?php
      $tekst=strtr($tekst, array("\xB9"=>"\xC4\x85", "\xE6"=>"\xC4\x87", "\xEA"=>"\xC4\x99", "\xB3"=>"\xC5\x82", "\xF1"=>"\xC5\x84", "\xF3"=>"\xC3\xB3", "\x9C"=>"\xC5\x9B", "\x9F"=>"\xC5\xBA", "\xBF"=>"\xC5\xBC", "\xA5"=>"\xC4\x84", "\xC6"=>"\xC4\x86", "\xCA"=>"\xC4\x98", "\xA3"=>"\xC5\x81", "\xD1"=>"\xC5\x83", "\xD3"=>"\xC3\x93", "\x8C"=>"\xC5\x9A", "\x8F"=>"\xC5\xB9", "\xAF"=>"\xC5\xBB");
    ?>

    Konwersja cp1250->ISO-8859-2:

    <?php
    $tekst=strtr($tekst, "\xA5\x8C\x8F\xB9\x9C\x9F", "\xA1\xA6\xAC\xB1\xB6\xBC");
    ?>

    Należałoby znaleźć w kodzie gdzie jest pobierany tytuł z exifa i zaraz po pobraniu poddać go któremuś z wyższych kodów (zakładając że tytuł jest w zmiennej $tekst).
    Pozdrawiam

Viewing 1 replies (of 1 total)
  • Temat ‘Tytuły obrazków pobrane z danych exif bez polskich znaków’ jest zamknięty na nowe odpowiedzi.