Foros del Web » Programando para Internet » PHP »

Twitter - Problema enviando mensajes con tildes o caracteres especiales

Estas en el tema de Twitter - Problema enviando mensajes con tildes o caracteres especiales en el foro de PHP en Foros del Web. Hola a todos. Tengo desarrollado en una página Web mía una aplicación para que desde un formulario, se mande al usuario que esté interactuando un ...
  #1 (permalink)  
Antiguo 24/07/2011, 06:27
Avatar de el_javi  
Fecha de Ingreso: marzo-2005
Ubicación: MAdrid
Mensajes: 844
Antigüedad: 19 años, 7 meses
Puntos: 10
Twitter - Problema enviando mensajes con tildes o caracteres especiales

Hola a todos.

Tengo desarrollado en una página Web mía una aplicación para que desde un formulario, se mande al usuario que esté interactuando un mensaje a tweeter.

Todo funciona perfectamente (me actualiza el status de Twitter sin problema) pero el problema viene cuando en el texto aparece algún caracter especial

Con poner una simple tilde en una palabra, todo el proceso me lo da perfecto MENOS que no se publica el mensaje.

Revisando las respuestas del objeto Twitter y:
- Cuando mando textos SIN caracteres especiales o SIN tildes, el objeto Twitter está perfecto con todos sus nodos correctos
- Cuando mando textos CON caracteres especiales o CON tildes, el objeto Twitter me muestra un nodo de ERROR
Código:
  array(2) {
    ["error"]=>
    string(34) "Could not authenticate with OAuth."
    ["request"]=>
    string(21) "/statuses/update.json"
  }
¿Porqué puede estar ocurriendo esto?

El proceso de actuación es:
- Página con formulario.
- Envío del formulario a la página donde tengo todo programado

Esta es mi programación:
Código PHP:
    header("Content-Type: text/html; charset=utf-8");

    include 
'php/twitter/lib/EpiCurl.php';
    include 
'php/twitter/lib/EpiOAuth.php';
    include 
'php/twitter/lib/EpiTwitter.php';
    include 
'php/twitter/secret.php';
    include 
'php/bitly/secret.php';

    
// Si NO está autentificado en Twitter, le mandamos a la URL de autentificación
    
if((isset($_GET['oauth_token']) && $_GET['oauth_token'] == '') || (!isset($_GET['oauth_token'])))
    {
        
$url $twitterObj->getAuthorizationUrl();
        
        
header('Location: '.$url);
    }
    else 
// Si está autentificado en Twitter
    
{
        
$twitterObj->setToken($_GET['oauth_token']);
        
$token $twitterObj->getAccessToken();
        
$twitterObj->setToken($token->oauth_token$token->oauth_token_secret);
        
$_SESSION['ot'] = $token->oauth_token;
        
$_SESSION['ots'] = $token->oauth_token_secret;
        
$twitterInfo$twitterObj->get_accountVerify_credentials();
        
$twitterInfo->response;
        
        
$username $twitterInfo->screen_name;
        
$profilepic $twitterInfo->profile_image_url;
    }
    
// si tengo los datos necesarios para mandar el mensaje....
    
if(isset($_SESSION["TWEET"]["TO"]) && !empty($_SESSION["TWEET"]["TO"]) && isset($_SESSION["TWEET"]["TEXT"]) && !empty($_SESSION["TWEET"]["TEXT"]) && isset($_SESSION["TWEET"]["PLAN"]) && !empty($_SESSION["TWEET"]["PLAN"]) && !empty($username))
    {    
        
$twitterObj->setToken($_SESSION['ot'], $_SESSION['ots']);
        
$update_status $twitterObj->post_statusesUpdate(array('status' => $msg));
        
$the_response $update_status->response;
        
        
// Si nos da algun tipo de error lo mostramos
        
if (isset($the_response["error"]) && !empty($the_response["error"])) {
            echo(
"<pre>");
            
var_dump($the_response);
            echo(
"</pre>");
        } else {
                
// Redirigimos a la página correspondiente después de que esté todo bien
                 
header("Location: twitter_correcto.php";
        }
    } 
¿Alguien sabe porqué puede ser esto? ¿alguna idea?

Gracias y un saludo.

Javier
  #2 (permalink)  
Antiguo 24/07/2011, 07:15
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 16 años, 4 meses
Puntos: 416
Respuesta: Twitter - Problema enviando mensajes con tildes o caracteres especiales

Hmmmm... ¿Haz tratado de pasar el mensaje que envías por la funcion utf8_encode() ? (Solo una idea, no he trabajado con el API de Twitter)
  #3 (permalink)  
Antiguo 24/07/2011, 07:46
Avatar de el_javi  
Fecha de Ingreso: marzo-2005
Ubicación: MAdrid
Mensajes: 844
Antigüedad: 19 años, 7 meses
Puntos: 10
Respuesta: Twitter - Problema enviando mensajes con tildes o caracteres especiales

Hola compañero.

Si, lo tengo pasado y sigue dando error.

Debe ser algo de eso, el tema del charset de la página, quizas la información de cómo venga delformulario previo (su charset) o algo así.

A ver si alguien sabe decirme cómo debe de venir de la página previa.... y qué charset debe tener la página que escribe en Twitter.

Un saludo.

Javier

Etiquetas: caracteres, especiales, html, mensajes, tildes, twitter, formulario, usuarios
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:42.