• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

xploit

Problema de caracteres

9 mensagens neste tópico

Boas pessoal eu estou com um problema que não percebo o porquê, tenho todas as páginas em utf8 até pus no htacess e nada , eu abro o ckfinder e tenho lá uma imagem chamada " mudásti.jpg " , faço duplo clique , fecha-se o pop up do ckfinder e a url é tratada na função e posta no html , mas em vez de ir mudásti.jpg vai mud%C3%A1sti.jpg.. o que puderá ser? no ckfinder vejo a url correctamente só quando passa pela função e que fica assim.

Função:

var strings;
var IdMaster;

function ProcurarServer(obj)
{
IdMaster=jQuery("#"+obj+"").attr("id");
CKFinder.Popup("/webplataformas/ckfinder/",null,null,_FicheiroSelecionado);
return false;
}

function _FicheiroSelecionado(url){
var url_thumb;
var  found;
var  pic;
var  pic_link;
var input;
pic=jQuery("#"+IdMaster+" .show_pic");
pic_link=jQuery("#"+IdMaster+" #pic_link");
input=jQuery("#"+IdMaster+" input");
url_thumb=url.replace("/userfiles/","/userfiles/_thumbs/");
pic.attr("src",""+url_thumb+"");
pic.fadeOut();pic.fadeIn();
pic_link.attr("href",""+url+"");
input.val(""+url+"");
}

function Apagarfile(id,img){
var pic_del=jQuery("#"+id+" .show_pic");
var input_del=jQuery("#"+id+" input");
id=jQuery("#"+id+"").attr("id");
if(input_del.val()==""){
alert('Não tem nenhuma imagem para remover...');
return false;
}
if(window.confirm("Deseja mesmo remover a imagem?")){
pic_del.attr("src",img);
input_del.val("");
pic_del.fadeOut();pic_del.fadeIn();
}
}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Só para descargo de consciência experimentei esta função e é exactamente a mesma coisa fica tudo esquesito  :P


var Utf8 = {
// public method for url encoding
encode : function (string) {
string = string.replace(/\r\n/g,"\n");
var utftext = "";

for (var n = 0; n < string.length; n++) {
  var c = string.charCodeAt(n);
  if (c < 128) {
   utftext += String.fromCharCode(c);
  }
  else if((c > 127) && (c < 2048)) {
   utftext += String.fromCharCode((c >> 6) | 192);
   utftext += String.fromCharCode((c & 63) | 128);
  }
  else {
   utftext += String.fromCharCode((c >> 12) | 224);
   utftext += String.fromCharCode(((c >> 6) & 63) | 128);
   utftext += String.fromCharCode((c & 63) | 128);
  }
}
return utftext;
},

// public method for url decoding
decode : function (utftext) {
  var string = "";
  var i = 0;
  var c = c1 = c2 = 0;
  
  while ( i < utftext.length ) {
   c = utftext.charCodeAt(i);
   if (c < 128) {
    string += String.fromCharCode(c);
    i++;
   }
   else if((c > 191) && (c < 224)) {
    c2 = utftext.charCodeAt(i+1);
    string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
    i += 2;
   }
   else {
    c2 = utftext.charCodeAt(i+1);
    c3 = utftext.charCodeAt(i+2);
    string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
    i += 3;
   }
  }
  return string;
}
}

:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

isso é devido ao nome " mudásti.jpg " por cauxa do á, nao e o charset que te resolve esse problema, é por isso que no php existe a funçao encode e decode, em javascript nao sei se existe uma funçao identica a esta, isso resolviate o problema.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

mas essa funcao nao existe so para mysql? tive a pesquisar e em PHP mesmo não encontrei.. e que se houvesse possiblidade de haver em php consegui solucionar este problema.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

lol, mas qual enconde? eu ja procurei e so vejo isso pa mysql não vejo nenhuma funcao encode mesmo do php podiam me arranjar o link onde estão a ver isso?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora