Ir para conteúdo
Fórum Script Brasil
  • 0

Erro caracteres com acento


RonaldoCarvalho

Pergunta

alguém pode me ajudar, estou com erro ao exibir as informações com acento.

FERNANDO+DGAssist%C3%AAncia+T%C3%A9cnicaAssist%C3%AAncia+T%C3%A9cnica%FERNANDO+DGAssist%C3%AAncia+T%C3%A9cnicaAssist%C3%AAncia+T%C3%A9cnicaFERNANDO+DGAssist%C3%AAncia+T%C3%A9cnicaFERNANDO+DGAssist%C3%AAncia+T%C3%A9cnica

Processo conclu�do, Salve a disponibilidade.

 

Código usado é esse

<?php 
    ini_set('default_charset','UTF-8');
    error_reporting(E_ALL);
    ini_set("display_errors","1");

    $data = json_decode($_GET['data']);
    !isset($_SESSION) && session_start();
    if( isset($_SESSION['selecionado-email']) ) 
    {
        unset($_SESSION['selecionado-email']);
    }


    if( !isset($data->sessionid) )
    {
        die("Session id não foi enviado");
    }


    if( !empty($_POST) )
    {    

        // CONEXÃO BANCO
        require_once('connection.php');
        $conn = new Connection();

        $de = $data->de;
        $para = $data->para;
        $empreendimento = $data->empreendimento;
        $funcao = $data->funcao;
         
         function getNotificacoes($conn,$email,$empreendimento,$funcao,$funcao_pai)
         {

             $q = "
                     SELECT *
                        FROM TB_NOTIFICACAO
                      WHERE TRUNC(DATA_INICIO) >= TRUNC(SYSDATE)
                       AND EMAIL = '%s'
                       AND EMPREENDIMENTO = '%s'
                       AND (ASSUNTO = '%s' OR ASSUNTO like '%s')
                    ";
               $funcao_pai = $funcao_pai.'%';
            
            echo($empreendimento);
            echo($funcao);
            echo($funcao_pai);
            
               $q = sprintf($q,$email,$empreendimento,$funcao,$funcao_pai);
               $q = $conn->prepare($q);
               $q->execute();
               return $q->fetchAll();
         }

         function deleteInvite($conta,$event_id,$event_change_key)
        {
            $ewsFiles = array(
                                "exchangewebservices.php",
                                'ewstype.php',
                                'deleteitemtype.php',
                                'disposaltype.php',
                                'calendaritemcreateordeleteoperationtype.php',
                                'itemidtype.php',
                                'nonemptyarrayofbasefolderIdstype.php',
                                'nonemptyarrayofbaseItemIdtype.php',
                                'distinguishedfolderidtype.php',
                                'distinguishedfolderidnametype.php',
                                'emailaddresstype.php',
                                "ntlmsoapclient.php",
                                "exchange.php"
                             );
            foreach( $ewsFiles as $file )
            {
                require_once('ews/'.$file);
            }

            //// auth
            $host = '';
            //$username =
            //$password = ';
            //$password = '';        
            $username = '';
            $password = '';
            
            $ews = new ExchangeWebServices($host, $username, $password);
            ///////////////////////////////////////
            $request = new EWSType_DeleteItemType();
            $request->DeleteType = EWSType_DisposalType::HARD_DELETE;
            $request->SendMeetingCancellations = EWSType_CalendarItemCreateOrDeleteOperationType::SEND_TO_NONE;
            $item = new EWSType_ItemIdType();
            $item->Id = $event_id;
            $item->ChangeKey = $event_change_key;
            $items = new EWSType_NonEmptyArrayOfBaseItemIdsType();
            $items->ItemId = $item;
            $request->ItemIds = $items;

            $request->ParentFolderIds = new EWSType_NonEmptyArrayOfBaseFolderIdsType();
            $request->ParentFolderIds->DistinguishedFolderId = new EWSType_DistinguishedFolderIdType();
            $request->ParentFolderIds->DistinguishedFolderId->Id = EWSType_DistinguishedFolderIdNameType::CALENDAR;
            $mailBox = new EWSType_EmailAddressType();
            $mailBox->EmailAddress = $conta;
            $request->ParentFolderIds->DistinguishedFolderId->Mailbox = $mailBox;

            // Send the request
            try{
                $response = $ews->DeleteItem($request);
            }
            catch(Exception $e)
            {
                 //echo '<script>location.reload();</script>'; 
            }
            
        }

        function remover_acentos($str) 
        {
           $str = strtolower(utf8_decode($str)); $i=1;
           $str = strstr($str, utf8_decode('àáâãäåæçèéêëìíîïñòóôõöøùúûýýÿ'), 'aaaaaaaceeeeiiiinoooooouuuyyy');
           $str = preg_replace("/([^a-z0-9])/",'-',utf8_encode($str));
           while($i>0) $str = str_replace('--','-',$str,$i);
           if (substr($str, -1) == '-') $str = substr($str, 0, -1);
           return $str;
         }

        /// 1 - DELETAR INVITES DO PARA
        $funcao_pai = explode(".",$funcao);
        $funcao_pai = $funcao_pai[0];
         $para_notificacoes = getNotificacoes($conn,$de,$empreendimento,$funcao,$funcao_pai);
         foreach( $para_notificacoes as $notificacao )
         {
             deleteInvite($para,$notificacao['EXCHANGE_ID'],$notificacao['EXCHANGE_CHANGE_KEY']);
         }
         /// 2 - Alterar Responsável para tarefas futuras
         
         require('CURLRightnow.php');
        $rightnow = new CURLRightnow($data->sessionid);

         $q = "
                  SELECT DISTINCT(ID) ID
                   FROM TB_TAREFA
                  WHERE EMAIL = '%s'
                        AND DATA_INICIO > SYSDATE
                        AND EMPREENDIMENTO = '%s'
                        AND FUNCAO LIKE '%s%s'
              ";
             
        echo($empreendimento);
        echo($funcao);
        echo($funcao_pai);
             
         $q = sprintf($q,$de,$empreendimento,$funcao,'%');
         $q = $conn->prepare($q);
         $q->execute();
         $tarefas = $q->fetchAll();
         $_tarefas = array();
         foreach( $tarefas as $tarefa )
         {
             $_tarefas[] = $tarefa['ID'];
         }
         $_tarefas = implode(",",$_tarefas);
        

        $result = $rightnow->updateResponsavelTasksFuturas($de,$para,$_tarefas);


        $update = "
                      UPDATE TB_TAREFA
                         SET EMAIL = '%s'
                      WHERE EMAIL = '%s'
                            AND DATA_INICIO > SYSDATE
                            AND EMPREENDIMENTO = '%s'
                            AND FUNCAO LIKE '%s%s'
                  ";
                 
        echo($empreendimento);
        echo($funcao);
        
         $update = sprintf($update,$para,$de,$empreendimento,$funcao,'%');
         $update = $conn->prepare($update);
         $update->execute();

         $update = "
                     UPDATE TB_NOTIFICACAO
                       SET EMAIL = '%s'
                           , DATA_ENVIO = ''
                     WHERE EMAIL = '%s'
                            AND EMPREENDIMENTO = '%s'
                           AND ASSUNTO LIKE '%s%s'
                           AND DATA_INICIO > SYSDATE
                  ";
                 
        echo($empreendimento);
        echo($funcao);
                 
         $update = sprintf($update,$para,$de,$empreendimento,$funcao,'%');
         $update = $conn->prepare($update);
         $update->execute();


         $delete = "
                     DELETE TB_DISPONIBILIDADE
                      WHERE EMAIL = '%s'
                           AND DATA_INICIO > SYSDATE
                           AND EMPREENDIMENTO = '%s'
                           AND FUNCAO LIKE '%s%s'
                           AND DISPONIVEL = CAPACIDADE_CONFIGURADA
                   ";
                  
        echo(remover_acentos(utf8_decode($empreendimento)));
        echo(remover_acentos(utf8_decode($funcao)));
        
         $delete = sprintf($delete,$para,remover_acentos(utf8_decode($empreendimento)),remover_acentos(utf8_decode($funcao)),'%');
         $delete = $conn->prepare($delete);
         $delete->execute();

         if( $_POST['disponibilidade'] == 'completo' )
         {    
             $update = "
                      UPDATE TB_DISPONIBILIDADE
                         SET EMAIL = '%s'
                      WHERE EMAIL = '%s'
                            AND DATA_INICIO > SYSDATE
                            AND EMPREENDIMENTO = '%s'
                            AND FUNCAO LIKE '%s%s'
                  ";
                 
            echo(remover_acentos(utf8_decode($empreendimento)));
            echo(remover_acentos(utf8_decode($funcao)));
                 
             $update = sprintf($update,$para,$de,remover_acentos(utf8_decode($empreendimento)),remover_acentos(utf8_decode($funcao)),'%');
             $update = $conn->prepare($update);
             $update->execute();
         }
         else
         {
             $update = "
                      UPDATE TB_DISPONIBILIDADE
                         SET EMAIL = '%s'
                      WHERE EMAIL = '%s'
                            AND DATA_INICIO > SYSDATE
                            AND EMPREENDIMENTO = '%s'
                            AND FUNCAO LIKE '%s%s'
                            AND DISPONIVEL <> CAPACIDADE_CONFIGURADA
                  ";
                 
            echo(remover_acentos(utf8_decode($empreendimento)));
            echo(remover_acentos(utf8_decode($funcao)));
                 
             $update = sprintf($update,$para,$de,remover_acentos(utf8_decode($empreendimento)),remover_acentos(utf8_decode($funcao)),'%');
             $update = $conn->prepare($update);
             $update->execute();

             $delete = "
                     DELETE TB_DISPONIBILIDADE
                      WHERE EMAIL = '%s'
                           AND DATA_INICIO > SYSDATE
                           AND EMPREENDIMENTO = '%s'
                           AND FUNCAO LIKE '%s%s'
                           AND DISPONIVEL = CAPACIDADE_CONFIGURADA
                   ";
                  
            echo(remover_acentos(utf8_decode($empreendimento)));
            echo(remover_acentos(utf8_decode($funcao)));
                  
             $delete = sprintf($delete,$de,remover_acentos(utf8_decode($empreendimento)),remover_acentos(utf8_decode($funcao)),'%');
             $delete = $conn->prepare($delete);
             $delete->execute();
         }

         die ("<p style='font-size: 18px; font-family: arial,sans-serif'>Processo concluído, Salve a disponibilidade.</p>");
         
    }


?>

<!DOCTYPE html>
<html>
<head>
    <title>Troca de Recurso</title>
    <style type="text/css">
         *{ margin: 0; padding: 0; font: 14px arial,sans-serif; }
            body{ padding: 15px; }
            .btn{ padding: 12px 16px; background-color: #eee; border: 1px solid #ddd; color: #777; text-decoration: none; display: inline-block; }
            form{ margin-top: 10px; max-width: 700px; }
            h2{ font-size: 20px; line-height: 30px; color: #222;  margin-bottom: 10px; border: 1px solid #eee; padding: 5px 10px; }
            fieldset{ margin: 20px 0; border: none; }
            .fieldset-duplo{ display: table; width: 100%; }
            .fieldset-duplo p{ width: 50%; float: left;}
            form p{ width: 100%; display: table; line-height: 35px; }
            form select{ float: left; border: 1px solid #ccc; }
            label{ display: inline-block; float: left; line-height: 35px; color: #444; }
            input[type='text']{ padding: 5px; width: 315px; border: 1px solid #ccc; }
            select{ width: 230px; padding: 3px 6px; margin-top: 2px; }
            input[type='submit']{ padding: 9px 12px; margin-top: 10px; }
            table{ width: 450px; float: left; margin-top: 5px; }
            table td{ line-height: 25px; color: #222; cursor: default; }
            table td a{ display: none; }
            .div-jornada{ margin-top: 20px; }
            .div-jornada a{}
    </style>
</head>
<body>


    <h2 style="margin-top: 10px;">Troca de Recurso</h2>    

    <form method="post">
        <p>
            <label style="width: 100px;">De:</label>
            <input type="text" name="de" value="<?php echo $data->de ?>" readonly="" />
        </p>
        <p>
            <label style="width: 100px;">Para:</label>
            <input type="text" name="para" value="<?php echo $data->para ?>" readonly="" />
        </p>
        <p>
        <label style="width: 100px;">Mover:</label>
            <label><input type="radio" name="disponibilidade" checked value="completo" /> Completo</label>

            <label style="margin-left: 10px;"><input type="radio" name="disponibilidade" value="agendamentos" /> Somente Agendamentos</label>
        </p>

        <p style='padding: 10px; background-color: #efefef; border: 1px solid #ccc; line-height: 20px; color: #555; margin: 20px 0'>
            Disponibilidades cadastradas na fun&ccedil;&atilde;o e empreedimento para: <b style="font-weight:bold;"><?php echo $data->para ?></b>, <br/> ser&atilde;o removidas, Agendamentos n&atilde;o ser&atilde;o exclu&iacute;dos, verifique poss&iacute;veis conflitos nos relatórios. <br/>

        </p>

        <p>
            <input type="submit" value="Confirmar">
        </p>
    </form>

</body>
</html>

Editado por RonaldoCarvalho
Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...