Exibindo arquivo em chinês no Solaris sem alterar o local

0

Caso de Uso: Eu tenho uma configuração do servidor cliente onde o servidor é uma máquina Solaris e o cliente pode ser qualquer windows, linux, etc. O cliente precisa criar um objeto de pacote de recursos baseado no cliente locale que, por sua vez, obtém um arquivo de propriedades chinês mantido no servidor (por algumas razões de design).

Requisito: Eu preciso manter o arquivo chinês no servidor (utf-8 codificado) sem alterar a localidade do servidor para chinês. (Da mesma forma, pode ser mais tarde, podemos introduzir suporte para alguma outra linguagem. Então, praticamente não podemos manter servidor para apontar para vários localidade simultaneamente. Espero que eu tenha feito o meu ponto aqui!)

Problema: eu crio o arquivo de propriedades chinês na máquina windows e depois transfiro-o para a máquina Solaris e tento visualizá-lo usando o editor VI. Ele é codificado para alguma codificação solaris padrão, conforme mostrado abaixo:

\ 217 \ 251 \ 300disk-redundancy.mirrors.label = \ 207 \ 376 \ 251 \ 207 \ 251 \ 226 \ 207 \ 242 \ 346 \ 206 \ 304 \ 272 \ 205 \ 326 \ 277 \ 207 \ 326 \ 251 \ 205 \ 273 \ 362 LoginWindow.login_label = \ 207 \ 326 \ 251 \ 205 \ 273 \ 362 Id:

P.S. A alteração da localidade no servidor não pode ser a parte da solução, conforme explicado acima.

FYI: LANG= LC_CTYPE="C" LC_NUMERIC="C" LC_TIME="C" LC_COLLATE="C" LC_MONETARY="C" LC_MESSAGES="C" LC_ALL=

Nota: 1. gato está apresentando resultado diferente quando comparado ao descrito acima em VI. Por favor, encontrar abaixo a saída do gato:

▒▒▒disk-redundancy.mirrors.label = ▒▒▒▒▒▒▒▒▒ĺ▒ ֿ▒֩▒▒▒ LoginWindow.login_label = ▒ Id:

Eu tentei acessar programaticamente o arquivo sem abri-lo em nenhum editor, o que, presumo, indica que o problema não está no editor.

java DebugTool ?? Id:

  1. Também a ferramenta localizadora de codificação no solaris retorna UTF-8.

auto_ef -a chinese.properties

UTF-8 1,00

  1. Tentei fazer o download desse arquivo de volta para o Windows e visualizá-lo em um editor e poder visualizá-lo com êxito como arquivo chinês.

disk-redundancy.mirrors.label = 系统 监控 器 登录

disk-redundancy.mirrors.value = 登录 Id:

    
por codingkapoor 30.07.2015 / 13:04

1 resposta

1

O código de idioma "C" manipula apenas texto ASCII. Você precisa usar um código de idioma UTF-8 para manipular texto UTF-8 - não é necessário alterar a configuração de todo o servidor, apenas as variáveis de ambiente para a sessão na qual você executa o editor.

    
por 31.07.2015 / 04:04

Tags