Made my own TwitterClient and I think it's better than the example one

What I did was this:

byte b = 0;
for (byte i = 0 ; i < 81 ; i++){   //this buffer is only 80 characters
  byte txt1 = buffer[i + b];      //look at the first character
  byte txt2 = buffer[i + b + 1]; //look at the second character
  byte txt3 = buffer[i + b + 2]; //look at the third character
  // lets make some of those special html characters readable
  if (txt1 == '%')
  // if you find an %, we will start looking for de second and tirth character
  // than we recalculate those into a new char en replace txt1 with the new one
  {
    char ascii[17] = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
    for (byte c = 2; c < 8; c++){
      for (byte d = 0; d < 17; d++){
        if (txt2 == ascii[c] && txt3 == ascii[d]){
          txt1 = 32 + (((c-2)*16)+d);  //recalculate 2 separate HEX to one new
          b= b + 2; // go the the next character and therefore skip 2
        }
      }
    }
  }
}

But you will not be able to use it as is (it only replaces 2 HEX characters into 1 new)

To help you further, post me your twitter buffer (tweet) as you get it on your console. Second I need to know if in your buffer (tweet) this "&#241" takes 5 places or 3. Because we need to know if 241 is one character or three (2,4,1). if it is three, you'll have to do something like this:

txt1 = (txt3*100) + (txt4*10) +txt5)

it might be as simple as to look for:

if (txt1 == '&') && (txt2 =='#')
{
  txt1 = (txt3*100) + (txt4*10) +txt5)
}

and do this for all characters in your buffer (see first code in this post) and combine (don't forget to skip 4 places instead of 2, and don't forget your tweet buffer is 140 not 80, and you'll probable need txt1 till txt5)

On the other hand you could use textfinder on your "tweet" buffer and look for &#241 and replace it with '241' (1 character)

oh, and could you post the twitter account that posts those funny Spanish characters?