2012-06-25 6 views
-4

Je travaille sur un site web multilingue. J'ai un problème avec la couleur des caractères chinois. Ma couleur de texte est # 333333 mais les caractères chinois apparaissent plus sombres que les caractères occidentaux. Mon contenu provient d'une base de données.Caractères chinois codant

J'ai pensé le faire avec Javascript/jQuery. Le script détecte l'Unicode du paragraphe avec la fonction .fromCharCode(). Mais what I read était cette fonction attend un entier et l'Unicode pour les caractères chinois ne sont pas des entiers. Et cela devrait être la raison pour laquelle ma fonction ne fonctionne pas.

EDIT

est ici une image de ce que je suis:

http://tinypic.com/r/2s94lz6/6

Ma fonction pour vérifier l'Unicode:

if($('#container p').fromCharCode(4E00)){ 
    alert('Chinese'); 
} 

Toute aide?

+6

Si les valeurs Unicode ne sont pas des nombres entiers ... de quoi s'agit-il? Ils ressemblent à des entiers. – Pointy

+0

Pouvez-vous poster la page ou une page de test? – kei

+0

Où est votre code? Où est ta démo. Que pouvons-nous faire si nous ne pouvons rien voir? – Sparky

Répondre

2

La capture d'écran suggère que différents caractères ont été pris dans différentes polices. Cela arrive souvent lorsque la police principale ne contient pas tous les caractères pertinents. Donc, les chances sont que vous essayez de résoudre le mauvais problème. Peut-être que vous devriez juste envisager de faire une suggestion de police qui convient à tous les caractères qui apparaîtront dans le contenu.

L'extrait de code est erroné de plusieurs manières. Par exemple, 4E00 devrait être 0x4E00. Et même de cette façon, vous ne vérifieriez qu'un seul personnage.

Vous devez envoyer le code complet, ou une URL, ou les deux, pour obtenir une aide plus constructive.

+0

les captures d'écran sont la même page avec les mêmes polices. Vous avez raison lorsque vous avez dit à propos de la police ne contient pas les caractères. La police que j'utilise n'a pas les caractères chinois dessinés. Je viens de mettre une valeur pour un test initial. Je mets le 0x4E00 et me donne toujours une erreur. le firbug dit que $ ("# container p"). fromCharCod n'est pas une fonction. Merci Il a été utile – peterK

+0

En particulier, vous avez une police japonaise sans (probablement Meiryo) retombant à une police de livre chinois pour les hanzi qui ne sont pas utilisés en japonais. Marquez le document comme étant en chinois ('lang =" zh "') et essayez de définir des polices chinoises communes dans 'font-family'. – bobince

1

Votre problème est que vous affichez le chinois simplifié dans une police conçue pour le chinois traditionnel. Ainsi, lorsque le moteur d'affichage frappe un caractère qui est simplifié (et donc pas dans la police traditionnelle), il prend la police simplifiée par défaut et l'utilise à la place. Ensuite, il revient à la police traditionnelle. D'où le regard inconvenant.

Vous devez vous pencher sur ce qui serait la police de caractères chinois simplifié la plus courante (ou famille de polices) et l'utiliser spécifiquement pour les textes en chinois simplifié. Quelque chose comme Heiti TC et Heiti SC.