Tengo un div que contiene una cadena que es una consulta Cypher:
<div id="foo">match (n)-[r]-() where n.gid='Cx' return n,r</div> Dado que el carácter ' se codificará como ’ , y dado que la consulta de Cypher no puede decodificarlo automáticamente, debo asegurarme de que el carácter ' que veo (y Cypher ve también) es realmente el carácter ' , no solo ’ pero el navegador lo transforma automáticamente a ' .
En todos los lugares el caracter siempre se muestra como ' ; el único lugar donde realmente muestra su verdadero mal es en la página HTML de visualización de código fuente. Intento usar una solución de ¿Cuál es la forma correcta de decodificar una cadena que tiene entidades HTML especiales? :
function decodeHtml(html) { var txt = document.createElement("textarea"); txt.innerHTML = html; return txt.value; }Pero Cypher todavía no lo acepta. Pero supongo que no puedo verificar cuándo la cadena aún está codificada o no, porque dondequiera que vaya, el navegador siempre mostrará la versión decodificada.
Otro problema es cuando agrego esto en la consola:
string = document.getElementById('foo').innerText string.includes("'") //false string.includes("&") //falseSi devuelve falso en ambos casos, ¿cuál es exactamente la versión del personaje allí? ¿Es la versión decodificada o codificada?
Relacionado: ¿Puede Cypher interpretar códigos de caracteres HTML como entrada?