2009-11-30 10 views
0

Je suis en train de lire un fichier XML dans un produit pour collecter ses informations d'inventaire, c'est-à-dire les divers composants qu'il contient et quand ils sont installés. Je sais à partir du fichier de propriétés du produit que les paramètres régionaux du produit sont "ccjk". Il est synonyme de chinois simplifié pour le japonais et le coréen, je suppose. Je veux définir les paramètres régionaux du shell avant d'exécuter ce programme Java afin qu'il détecte les paramètres régionaux de l'environnement shell. Habituellement, les paramètres régionaux sont définis de la manière suivanteComment définir les paramètres régionaux de mes programmes Java sur ccjk?

export LOCALE = "ch_TW.UTF_8" Cet environnement est chinois pour les Taïwanais et l'UTF_8 est synonyme de codage de caractères. Je voudrais savoir la chaîne quelque chose comme ci-dessus ch_TW.UTF_8 dont j'ai besoin de mettre mes paramètres régionaux à ccjk.

aide Quicke est très apprécié

+0

Si vous lisez XML, les paramètres régionaux ne doivent pas être concernés - un fichier XML bien formé déclare son propre codage de caractères ou utilise un codage standard détectable (UTF-8 ou UTF-16). –

+0

Le mot clé étant "bien formé". ;-) – wds

+0

Tout ce que je peux voir est .. horodatage dans ce fichier XML a des caractères chinois pour AM/PM que mon simpleDateFormat est incapable d'analyser en utilisant le constructeur par défaut qui est avec out locale dans le constructeur. Si je fournis les paramètres régionaux dans le constructeur en tant que "zh_TW", il analyse correctement. Tout ce que je peux obtenir est la localisation du produit de ses propriétés qui est "ccjk". Ce n'est pas dans le format "2CharacterLanguageCode_CountryCode.UTF_8". Ce que je pense sérieusement est Si je peux avoir un code équivalent comme "zh_TW.UTF-8" pour ccjk locale, je peux l'utiliser dans le constructeur de simpleDateFormat et cela va résoudre le problème. – Ram

Répondre

0

Selon le Wikipedia Article il y a plusieurs jeux de caractères possibles. Le code de langue et de pays n'a pas vraiment d'importance ici (sauf pour le formatage de date et de nombre), mais à partir des mappings chinois, vous voulez un préfixe avec 'zh' pas 'ch' AFAICT. Voici une liste sur mon système de jeux de caractères pris en charge (sur ubuntu il est en /usr/share/i18n/SUPPORTED:

 
zh_CN.GB18030 GB18030 
zh_CN.GBK GBK 
zh_CN.UTF-8 UTF-8 
zh_CN GB2312 
zh_HK.UTF-8 UTF-8 
zh_HK BIG5-HKSCS 
zh_SG.UTF-8 UTF-8 
zh_SG.GBK GBK 
zh_SG GB2312 
zh_TW.EUC-TW EUC-TW 
zh_TW.UTF-8 UTF-8 
zh_TW BIG5 

Il se pourrait très bien que le fichier est UTF-8, mais vous n'avez pas à travailler parce que vous avez la langue codes erronés.

Notez que vous pouvez également passer des jeux de caractères à un InputStreamReader en java, de sorte que votre VM ne doit pas nécessairement travailler dans le même charset que vos données.

+0

ouais .. Vous êtes vrai. VM ne doit pas nécessairement travailler dans le même jeu de caractères que mes données. Je suppose que le problème n'est pas avec le charset mais avec la langue. – Ram

Questions connexes