Buenas, les cuento el problema que tengo, estoy usando el API de Twitter para enviar mensajes a este servicio desde mi web (Título del post + URL), el script que uso es este:
Código PHP:
<?php
function postToTwitter($username,$password,$message){
$host = "http://twitter.com/statuses/update.xml?status=".urlencode(stripslashes(urldecode($message)));
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $host);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERPWD, "$username:$password");
curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Expect:'));
$result = curl_exec($ch);
$resultArray = curl_getinfo($ch);
curl_close($ch);
if($resultArray['http_code'] == "200"){
echo "<br />OK! postedo en http://twitter.com/".$username."/<br />";
}else {
echo "<br />Error! ha ocurrido un problema<br />";
}
}
postToTwitter("USER","PASS","Más pruebas");
?>
El problema que tengo es que cuando quiero probar enviando un texto que contiene caracteres especiales como tildes, "ñ", etc. en Twitter el mensaje sale cortado, por ejemplo, en el script de arriba al ejecutarlo y ver en Twitter el resultado, en lugar de aparecer
Más pruebas aparece
Mápruebas, como notarán, se come los dos caracteres siguientes a la vocal tildada, le he estado dando miles de vueltas para tratar de corregirlo pero no encuentro la solución, alguno de ustedes me puede echar una mano?
Gracias y Saludos :)