Karakterkódolás wp-mail.php

Karakterkódolás wp-mail.php
2018-11-24T15:19:26+01:00
2018-11-24T19:29:33+01:00
2022-10-15T21:35:52+02:00
bpmc
wp-mail.php elolvassa az e-mailt, de nem írja be a szöveget. Végigmentem a scripten és itt tűnik el a szöveg a $content-ből:

if ( false !== stripos($content_transfer_encoding, "quoted-printable") ) { $content = quoted_printable_decode($content); } if ( function_exists('iconv') && ! empty( $charset ) ) { $content = iconv($charset, get_option('blog_charset'), $content); }
Megnéztem mit dob ki előtte és az ékezetes karakterek helyett kódok vannak pl: á helyett =C3=A1 

Gondoltam sebaj, kicserélem ezzel a kóddal:

$szoveg = $content; function kodcsere($szoveg) { $mit = array("=C3=A1","C3=81","=C3=A9","=C3=89","=C3=B6","=C3=96","=C5=91_=","=C5=90","=C3=BA","=C3=9A","=C5=B1","=C5=B0","=C3=B3","=C3= =93","=C3=AD","=C3=8D","=C3=BC","=C3=9C"); $mire = array("á","Á","é","É","ö","Ö","õ","Õ","ú","Ú","û","Û","ó","Ó","í","Í","ü","Ü"); //$szoveg = str_replace($mit, $mire,$szoveg); return str_replace($mit, $mire, $szoveg); }
Csak hogy nem cserél ki semmit. Már többféleképpen próbáltam, de semmi... Lenne ötlete esetleg valakinek?

Köszönöm
Mutasd a teljes hozzászólást!
> Lenne ötlete esetleg valakinek?

Hát hogy ne csináld. A quoted_printable_decode pont azt csinálja, amit csinál, nem kell házilag helyettesítened. Pl:

$ cat qp.php #!/usr/local/bin/php <?php $in= "árvíztűrő tükörfúrógép"; $qp= quoted_printable_encode ($in); $out= quoted_printable_decode ($qp); printf ("in: %s\nqp: %s\nout: %s\n", $in, $qp, $out); ?>
futás:
$ ./qp.php in: árvíztűrő tükörfúrógép qp: =E1rv=EDzt=FBr=F5 t=FCk=F6rf=FAr=F3g=E9p out: árvíztűrő tükörfúrógép

A gond az eredeti programban az lehet, hogy nem tudod, miből mibe iconv-olsz, és miért. Ilyenkor az iconv üres output-ot állít elő.
Mutasd a teljes hozzászólást!

  • Adtak egy tippet a quoted_printable_decode-ra, meg is próbáltam, de az se működik.

    function kodcsere($szoveg) { $mit = array("=C3=A1","C3=81","=C3=A9","=C3=89","=C3=B6","=C3=96","=C5=91_=","=C5=90","=C3=BA","=C3=9A","=C5=B1","=C5=B0","=C3=B3","=C3= =93","=C3=AD","=C3=8D","=C3=BC","=C3=9C"); $mire = array("á","Á","é","É","ö","Ö","õ","Õ","ú","Ú","û","Û","ó","Ó","í","Í","ü","Ü"); return str_replace($mit, $mire, quoted_printable_decode($szoveg)); }
    Mutasd a teljes hozzászólást!
  • Meghívod ezt a kodcsere függvényt?

    $szoveg=kodcsere($szoveg);
    Mutasd a teljes hozzászólást!
  • > Lenne ötlete esetleg valakinek?

    Hát hogy ne csináld. A quoted_printable_decode pont azt csinálja, amit csinál, nem kell házilag helyettesítened. Pl:

    $ cat qp.php #!/usr/local/bin/php <?php $in= "árvíztűrő tükörfúrógép"; $qp= quoted_printable_encode ($in); $out= quoted_printable_decode ($qp); printf ("in: %s\nqp: %s\nout: %s\n", $in, $qp, $out); ?>
    futás:
    $ ./qp.php in: árvíztűrő tükörfúrógép qp: =E1rv=EDzt=FBr=F5 t=FCk=F6rf=FAr=F3g=E9p out: árvíztűrő tükörfúrógép

    A gond az eredeti programban az lehet, hogy nem tudod, miből mibe iconv-olsz, és miért. Ilyenkor az iconv üres output-ot állít elő.
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd