Hola, para los que tengan problemas con las tildes o ñs cuando están consumiendo un webservice en angular les dejo un filtro que arregla los problemas de codificación.
app.filter('utf8_decode', function($sce) { return function(strData) { var tmpArr = [] var i = 0 var c1 = 0 var seqlen = 0 strData += '' while (i < strData.length) { c1 = strData.charCodeAt(i) & 0xFF seqlen = 0 // http://en.wikipedia.org/wiki/UTF-8#Codepage_layout if (c1 <= 0xBF) { c1 = (c1 & 0x7F) seqlen = 1 } else if (c1 <= 0xDF) { c1 = (c1 & 0x1F) seqlen = 2 } else if (c1 <= 0xEF) { c1 = (c1 & 0x0F) seqlen = 3 } else { c1 = (c1 & 0x07) seqlen = 4 } for (var ai = 1; ai < seqlen; ++ai) { c1 = ((c1 << 0x06) | (strData.charCodeAt(ai + i) & 0x3F)) } if (seqlen === 4) { c1 -= 0x10000 tmpArr.push(String.fromCharCode(0xD800 | ((c1 >> 10) & 0x3FF))) tmpArr.push(String.fromCharCode(0xDC00 | (c1 & 0x3FF))) } else { tmpArr.push(String.fromCharCode(c1)) } i += seqlen } return tmpArr.join('') }; });
Modo de uso:
{{item.description | utf8_decode }}
Fuente: http://locutus.io/php/xml/utf8_decode/
No hay comentarios:
Publicar un comentario