paginad 0 Denunciar post Postado Abril 17, 2015 Não tenho muito conhecimento em PHP. Como eu faço no json abaixo para retornar o "Subject" e o item "multipart/alternative" [ [ "Received", "by luna.mailgun.net with SMTP mgrt 8734663311733; Fri, 03 May 2013 18:26:27 +0000" ], [ "Content-Type", [ "multipart/alternative", { "boundary": "eb663d73ae0a4d6c9153cc0aec8b7520" } ] ], [ "Mime-Version", "1.0" ], [ "Subject", "Test deliver webhook" ], [ "From", "Bob <bob@>" ], [ "To", "Alice <alice@example.com>" ], [ "Message-Id", "<20130503182626.18666.16540@mkt>" ], [ "X-Mailgun-Variables", "{\"my_var_1\": \"Mailgun Variable #1\", \"my-var-2\": \"awesome\"}" ], [ "Date", "Fri, 03 May 2013 18:26:27 +0000" ], [ "Sender", "bob@mkt." ] ] Compartilhar este post Link para o post Compartilhar em outros sites
Williams Duarte 431 Denunciar post Postado Abril 18, 2015 Use json_decode para decodificar, foreach para percorrer o array no caso de multipart/alternative é um objeto, so precorrer novamente com foreach Code $decode = json_decode($json); foreach ($decode as $key => $array) { if($array[0] == 'Content-Type'){ foreach ($array[1] as $key => $value) if($value2 != 'multipart/alternative') echo $value->boundary . '<br />'; } if($array[0]=='Subject') echo $array[1]; } Compartilhar este post Link para o post Compartilhar em outros sites
paginad 0 Denunciar post Postado Abril 18, 2015 Obrigado, vou tentar. Estou usando Sql Server. Quando gravo na base os acentos ficam assim: "n├â┬úo" era para ser o "não". Eu estou começando com PHP agora, to quebrando a cabeça. Aqui por exemplo if($array[0]=='Subject') echo $array[1]; O $array[1] que retorna o assunto está vindo assim como disse acima. Compartilhar este post Link para o post Compartilhar em outros sites
Williams Duarte 431 Denunciar post Postado Abril 18, 2015 Converta tudo para UTF-8, banco, conexao, scripts Se este json é externo use esta função function utf8_converter($array) { array_walk_recursive($array, function(&$item, $key){ if(!mb_detect_encoding($item, 'utf-8', true)){ $item = utf8_encode($item); } }); return $array; } Uso foreach ($json as $key => $array) { $array = utf8_converter($array); ... Compartilhar este post Link para o post Compartilhar em outros sites
paginad 0 Denunciar post Postado Abril 18, 2015 Converti...mudei a Collation para Latin1_General_CI_AS coloquei no topo do php : header('Content-Type: plain/text; charset=utf-8'); Compartilhar este post Link para o post Compartilhar em outros sites
Williams Duarte 431 Denunciar post Postado Abril 18, 2015 Leia e tente entender o erro http://rberaldo.com.br/problemas-com-codificacao-acentos-nao-interpretados/ Compartilhar este post Link para o post Compartilhar em outros sites
paginad 0 Denunciar post Postado Abril 18, 2015 Willians eu to rodando o PHP no Windows. Mudei para a versão 5.4 e o código abaixo não roda. @mssql_connect($dbhost,$user,$password) or die("Não foi possível a conexão com o servidor!"); @mssql_select_db("$db") or die("Não foi possível selecionar o banco de dados!"); Sabe pq? Compartilhar este post Link para o post Compartilhar em outros sites
Williams Duarte 431 Denunciar post Postado Abril 18, 2015 Nunca usei estas funções mssql_, mas acredito que ela, assim como outras, foram depreciadas depois da versão 5.3 Retire as arrobas @ do code para mostrar os erros "Warnings", de repente os drivers não esteja habilitados, para isso use phpinfo Como a microsoft tem seu próprio conjunto de drivers, de uma olhada no link abaixo: http://www.microsoft.com/en-us/download/details.aspx?id=20098 Ps.: Te aconselho a usar PDO para as abstrações do DB, e não ficar dependente de uma função especifica. Compartilhar este post Link para o post Compartilhar em outros sites
paginad 0 Denunciar post Postado Abril 22, 2015 Resolvi o problema da conexão, só o acento que ainda não estou conseguindo gravar corretamente no SQL SERVER. o Não está assim "não" Compartilhar este post Link para o post Compartilhar em outros sites
Maykel-ctba 233 Denunciar post Postado Abril 22, 2015 Algum collation está confuso. Você mudou o collation do banco pra Latin e quer que exiba como UTF8? Não entendo isso. "Dá um confere" se: Seu meta encode está UTF8 Se seu banco está UTF8_General Se seu BOM está como UTF8 Compartilhar este post Link para o post Compartilhar em outros sites
paginad 0 Denunciar post Postado Abril 22, 2015 Independente de banco de dados, como eu faço para que a string json converta para o padrão iso. Quando eu uso o código abaixo para converter eu array eu preciso que o acento que correto. $data = json_decode($json, true); Tentei usar a função que o Willianms passou mas não deu certo. function utf8_converter($array){ array_walk_recursive($array, function(&$item, $key){ if(!mb_detect_encoding($item, 'utf-8', true)){ $item = utf8_encode($item); } }); return $array;} o "é" por exemplo está vindo assim : Ã% eu tentei usar o htmentities e deu nisso: "É" mas o que preciso mesmo seria: "é" Compartilhar este post Link para o post Compartilhar em outros sites
Williams Duarte 431 Denunciar post Postado Abril 22, 2015 Converti...mudei a Collation para Latin1_General_CI_AS coloquei no topo do php : Não sei se já mudou para UTF-8, mas se quer usar utf-8, não faz sentido manter Latin Tenta mudar as configurações no php.ini pelo php, setando no ini_set antes de chamar sua conexão. <?php ini_set('mssql.charset', 'UTF-8'); mssql_connect($dbhost,$user,$password) or die("Não foi possível a conexão com o servidor!"); ou monte uma função mb_detect_encoding($value, mb_detect_order(), true) === 'UTF-8' ? $value : mb_convert_encoding($value, 'UTF-8'); ou ve se isso funciona no mssql mssql_query("SET NAMES 'utf8'"); Para que funcione corretamente, tudo tem que estar em utf-8 como já foi falado, não adianta nada se seu banco, ou tabela, ou campo da tabela estiver em outra codificação. Compartilhar este post Link para o post Compartilhar em outros sites
paginad 0 Denunciar post Postado Abril 22, 2015 Williams, mas como eu faço para alterar o acento para o português normal? Imagina que não fosse gravar no banco, que quisesse só printar na tela com a acentuação correta. Como ficaria? Compartilhar este post Link para o post Compartilhar em outros sites
Williams Duarte 431 Denunciar post Postado Abril 22, 2015 http://php.net/manual/pt_BR/function.utf8-decode.php Compartilhar este post Link para o post Compartilhar em outros sites