2010-06-16 23 views
319

me escribió lo siguiente en el archivo strings.xml:¿Cómo puedo escribir caracteres y en strings.xml androide

<string name="game_settings_dragNDropMove_checkBox">Move by Drag&Drop</string> 

me dieron el siguiente error:

The reference to entity "Drop" must end with the ';' delimiter. 

¿Cómo puedo escribir caracteres en & el strings.xml?

Respuesta

798

codificarlo:

&amp; 
+29

Para obtener usan los códigos http://www.mikezilla.com/exp0012.html Convierte cualquier cosa escribe, por lo que no es necesario buscar los valores – Entreco

+0

http://www.mikezilla.com/exp0012.html -> Enlace roto. –

+0

Si usa CDATA, tenga en cuenta que algunos caracteres están reservados. © -> © Consulte este artículo. http://www.w3schools.com/html/html_entities.asp – toidiu

140

Para carácter especial que normalmente utiliza la definición Unicode, para la '&', por ejemplo: \ u0026 si estoy en lo correcto. Aquí hay una buena página de referencia: http://jrgraphix.net/research/unicode_blocks.php?block=0

+12

+1 para la tabla Unicode – Necronet

+0

Este parece funcionar mejor. El $ amp; sale de getString() sin ser convertido. Entonces es un dolor. – Adam

+1

Esto no funcionó para algunos símbolos, como \ u227A. –

2

También es posible poner el contenido de su cadena en un CDATA XML, al igual que Android Studio hace por usted cuando Extract string resource

<string name="game_settings_dragNDropMove_checkBox"><![CDATA[Move by Drag&Drop]]></string>

2

Esto puede ser muy viejo. Pero para aquellos que buscan un código rápido.

public String handleEscapeCharacter(String str) { 
    String[] escapeCharacters = { "&gt;", "&lt;", "&amp;", "&quot;", "&apos;" }; 
    String[] onReadableCharacter = {">", "<", "&", "\"\"", "'"}; 
    for (int i = 0; i < escapeCharacters.length; i++) { 
     str = str.replace(escapeCharacters[i], onReadableCharacter[i]); 
    } return str; 
} 

Eso maneja caracteres de escape, puede agregar caracteres y símbolos en sus respectivas matrices.

-Cheers

26

Ésta es una de mis problemas, mi solución es la siguiente: El uso de &gt; <, &lt; para>, &amp; para &, "'" para ', &quot de \ "\"

4

Se debe ser así:

<string name="game_settings_dragNDropMove_checkBox">Move by Drag&amp;Drop</string> 
0

Para evitar la cadena de extracto de error, utilice:

<string name="travels_tours_pvt_ltd"><![CDATA[Travels & Tours (Pvt) Ltd.]]></string> 
0

Se puede escribir de esta manera

<string name="you_me">You &#38; Me<string> 

Salida: Usted & Me

Cuestiones relacionadas