Login   Register  
PHP Classes
elePHPant
Icontem

special characters?

Recommend this page to a friend!
Stumble It! Stumble It! Bookmark in del.icio.us Bookmark in del.icio.us

      Twitter  >  All threads  >  special characters?  >  (Un) Subscribe thread alerts  
Subject:special characters?
Summary:I need to use special characters... but they don't work so well
Messages:6
Author:This is my name
Date:2009-08-05 20:31:18
Update:2010-07-22 14:54:31
 

  1. special characters?   Reply  
Picture of This is my name
This is my name
2009-08-05 20:31:18
When I use... for example, e accute, () and any other accute character I am getting parts of my tweet truncated.

particularly, the truncated part is always after the special character. I suspect it has something to do with urlencode().

I also suspect that the use of that function is mandatory... ? any other optional url encoding function usabe? Such as rawurlencode()? or a custom function?

  2. Re: special characters?   Reply  
Picture of Valmy Gomes
Valmy Gomes
2009-10-01 03:04:02 - In reply to message 1 from This is my name
Hi. This my solution:

function specialtwitter ($text) {
$text = htmlentities($text); //to convert the simple spec chars
$search = array('','','','','','','','','','','','','','','','','','','','','','','','','','');
$replace = array(' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ');
$text = str_replace($search, $replace, $text);
return $text;
}

  3. Re: special characters?   Reply  
Picture of Valmy Gomes
Valmy Gomes
2009-10-01 03:09:04 - In reply to message 1 from This is my name
Please, the correte custom function is this:

function specialtwitter ($text) {
$search = array('','','','','','','','','','','','','','','','','','','','','','','','','','');
$replace = array(' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ');
$text = str_replace($search, $replace, $text);
return urldecode($text);
}

Good Luck

  4. Re: special characters?   Reply  
Picture of This is my name
This is my name
2009-10-01 12:26:23 - In reply to message 3 from Valmy Gomes
Thankyou for your reply!

While you gave it up to me, I arrived to a similar conclusion as far as replacing characters goes.

I am replacing my literal accute characters with HTMLentities, which allows the class to successfully URLencode the accute characters.

So instead of replacing them with the unaccute versions of the character I am replacing like this:

$search = array('','''','' ... );
$replace = array('á','é','í','Á');

For a listing of all html entities, see the following URL:
http://www.w3schools.com/tags/ref_entities.asp

My custom function is as follows:
function acutereplace($txt){
$find = array("//","//","//","//","//","//","//","//","//","//","/\.\.\./","/!/","//","//","//");
$replace = array("á","é","í","ó","ú","&Aacute","&Eacute","Í","Ó","Ú","","","","ñ","Ñ");
$txt = preg_replace($find,$replace,$txt);
return $txt;
}

Then I modified the update function as follows:
$post_data = "status=" . urlencode($this->acutereplace($new_status));

This worked perfectly and my tweets enjoy acute characters when I tweet content from my website.

Thanks again for your reply, I am sorry I did not update my question earlier... I had forgotten about it... :)

  5. Re: special characters?   Reply  
Picture of Thomas Omerzu
Thomas Omerzu
2010-03-22 17:09:21 - In reply to message 4 from This is my name
Twitter expects UTF-8 encoding for special characters.

Thus another possible solution is to replace

$post_data = "status=" . urlencode($new_status);

with

$post_data = "status=" . rawurlencode(mb_convert_encoding($new_status,"UTF-8","ISO-8859-1"));

where you might want to exchange "ISO-8859-1" with your local character set encoding.

  6. Re: special characters?   Reply  
Picture of Brunno dos Santos
Brunno dos Santos
2010-07-22 14:54:31 - In reply to message 5 from Thomas Omerzu
Thanks, this solution works to me xD