javascript - toshiba - Convierta caracteres no ASCII(diéresis, acentos...) a su equivalente ASCII más cercano(creación de slug)
vocabulario ascii (2)
Esto se debe a que iconv
es una utilidad nativa de UNIX compilada detrás de la mayoría de las funciones de conversión de mapas de caracteres i18n.
No lo encontrará en javascript
menos que acceda a algún componente del navegador.
La codificación es una propiedad del documento, por lo que la mayoría de las implementaciones de JavaScript simplemente lo descartan.
Necesitará una biblioteca js pura para cadenas no acentuadas. Sería lo mejor tener uno para el idioma específico que necesita.
La forma más sencilla es a través de algunas tablas de traducción o incluso reemplazos de expresiones regulares.
como aquí: http://lehelk.com/2011/05/06/script-to-remove-diacritics/
revisa este hilo también: Reemplazo de diacríticos en Javascript
Estoy buscando una manera en JavaScript
para convertir ASCII
no ASCII
en una cadena a su equivalente más cercano, de manera similar a lo que hace la función iconv
PHP
. Por ejemplo, si la cadena de entrada es Rånades på Skyttis i Ö-vik
, debe convertirse a Ranades pa skyttis i o-vik
. phpjs
un vistazo a phpjs
pero iconv
no está incluido.
¿Es posible realizar dicha conversión en JavaScript, si es así, cómo?
La forma más fácil que he encontrado:
var str = "Rånades på Skyttis i Ö-vik";
var combining = /[/u0300-/u036F]/g;
console.log(str.normalize(''NFKD'').replace(combining, ''''));