2009-09-28 7 views
2

dans mon site web, en utilisant api langage Google, type i malayalam dans la boîte de texte et de la zone de texte,pourquoi mes personnages en langues étrangères (de Malayalam) sont stockés sous forme de caractères HTML dans la base de données

ഇതു ഒരു നല്ല സിനിമ ആണ്

comme ça, mais quand je regarde dans la base de données mySQL, dans le tableau, il est

ഇതു ഒരു 
നല്ല സിനിമ 
ആണ് 

et il n'y a pas de problème pour le visionner dans mon site, mais j'utiliser ces mêmes données de table pour mon application de bureau et dans ce applicati lorsque l'extraction de données à partir de db, il montre que ഇതു ഒരു നല്ല സിനിമ ആണ്
pas dans ma langue maternelle, si je fais une mise à jour manuelle à l'aide de requêtes SQL pour la base de données, puis dans les deux site Web et dans mon application de bureau, il est affiché correctement dans ma langue locale, mon serveur web est Tomcat. et mon db est mySQL db et db est utf activé.

Que dois-je faire dans mon application java pour sauver direclty dans la langue locale autre que സ ..etc.

+0

très belle langue que vous avez là! mais assez difficile à lire;) – markus

Répondre

0

Arrêtez l'échappement HTML de vos données. Mais continuez à l'échapper de la base de données.

0

Quelque chose dans votre code de site peut bien être HTML coder les caractères avant de les stocker dans la base de données.

Jetez un oeil à exactement comment vos chaînes sont représentées juste avant la base de données d'insertion/mise à jour. Si nécessaire, HTMLDécoder les données avant de les insérer dans la base de données.

5

Vous devez vous assurer que votre page Web est codée en UTF-8, et a déclaré ainsi dans le type de contenu en-tête HTTP. Sinon, le navigateur Web peut choisir d'envoyer des caractères HTML échappés lorsque des caractères extérieurs à l'encodage présumé de la page sont entrés.

+0

La plupart des gens ne sont pas conscients de cela, mais c'est vrai. C'est l'une des choses les plus fous que font les navigateurs. –

+0

+1. Ce comportement horrible de longue date est maintenant documenté en HTML5 (étape 4.3 dans "L'application/x-www-form-urlencoded algorithme de codage"). – bobince

+0

Merci beaucoup .. sauvé ma journée ...header ('Content-Type: texte/html; jeu de caractères = utf-8'); –

-1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"> 

Mallu ഇ ത ു ഒ ര ു ന ല ് ല സ ി ന ി മ ആ ണ ്

1

Utilisez encode Unicode au début

HTML5

<meta charset="utf-8"> 

HTML 4,01

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 

xhtml 1,0

<meta http-equiv="content-type" content="text/html;charset=utf-8" /> 

xml

<?xml version="1.0" encoding="UTF-8"?> 
Questions connexes