当值设置为输入字段时,西班牙语文本无法正确显示

Spanish text is not displayed properly when value is set to input field

本文关键字:文本 显示 西班牙语 设置 输入 字段      更新时间:2023-09-26

我试图将西班牙语文本设置为输入字段,但它似乎没有正确显示。但是,如果相同的文本在div中,或者已经设置为输入字段的值,那么它显示得很好。

HTML

<div>Cuenta de Ahorros  Persona F&iacute;sica</div>
<input id="txt2" type="text" value="Cuenta de Ahorros  Persona F&iacute;sica" />
<input id="txt" type="text" value="" />

JS-

$('#txt').val('Cuenta de Ahorros  Persona F&iacute;sica');   //does not work properly

Fiddle:http://jsfiddle.net/v8p0efzx/

诀窍是使用

$('#txt').val($('<div>').html('Cuenta de Ahorros  Persona F&iacute;sica').text());

在JavaScript中,&iacute;只是一个由八个字符组成的字符串,尽管您可以通过将其分配给innerHTML属性或使用一些类似的jQuery代码将其解释为HTML实体引用。

JavaScript字符串中还有其他可供使用的转义符,如'u00ED,但最简单的方法(以及保持源代码可读性的方法)是按原样写入字符,例如

 $('#txt').val('Cuenta de Ahorros  Persona Física'); 

您需要确保正确设置和声明了字符编码,但在任何情况下都应该注意这一点。