The UNIX and Linux Forums  

Go Back   O UNIX e Linux Forum > Top Fóruns > UNIX & avançada para usuários experientes
.
google unix.com



UNIX & avançada para usuários experientes Especialista-a-Expert. Saiba avançado UNIX, comandos UNIX, Linux, Sistemas Operativos, Administração de Sistemas, Programação, Shell, shell scripts, Solaris, Linux, HP-UX, AIX, OS X, BSD.

Mais UNIX e Linux Fórum Tópicos Você pode achar Helpfull
Fio Thread Starter Fórum Respostas Última postagem
Extraia o ultimo caracter de uma string annelisa Programação Shell Script e 8 07-05-2008 12:57
Como extrair primeira coluna com uma especificidade selamba_warrior Programação Shell Script e 3 05-22-2008 06:14
extrato personagem + 1 francis_tom Programação Shell Script e 1 04-21-2008 01:16
grep ou awk problema, não foi possível extrair números Baghera Programação Shell Script e 7 08-31-2007 05:42
Extrair um carácter aajan UNIX & avançada para usuários experientes 10 08-20-2007 11:03

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
Linkback Thread Tools Pesquisar este Thread Rate Thread Display Modes
  #1 (permalink)  
Old 08-31-2008
COSEC cosec is offline
Usuário
  
 

Join Date: Sep 2007
Lugares: 12
incapaz de extrair Marcas (™) Caracteres

Olá Todos,

Estou tentando extrair uma marca personagem (™) de uma coluna varchar em uma tabela DB2. O resultado está a ser colocado em um arquivo seqüencial, em um ambiente AIX.

Após a extração é completa quando eu ver o arquivo extraído Notei que, em lugar do (™) Caracteres destacou outro personagem SUB tenha sido colocada.

Seria ótimo se qualquer pessoa pode lançar alguma luz sobre o motivo por que ele não exibir o (™) Caracteres. Pode ser porque o AIX caráter não permite que este conjunto de caracteres especiais?

Gostaria de receber o seu conselho. Obrigado
  #2 (permalink)  
Old 08-31-2008
Annihilannic Annihilannic is offline Forum Advisor  
  
 

Join Date: May 2008
Localização: Sydney, Austrália
Posts: 1.009
Citação:
Originally Posted by COSEC View Post
Pode ser porque o AIX caráter não permite que este conjunto de caracteres especiais?
Sim. No entanto, se você estivesse a carregar o arquivo de saída em um ambiente semelhante à uma onde você visualiza os dados foram originalmente você ainda deve ver o TM personagem, em um nível binário, deve manter-se inalterado.
  #3 (permalink)  
Old 09-01-2008
era era is offline Forum Advisor  
Herder do Inútil Gatos (On Sabático)
  
 

Join Date: Mar 2008
Localização: / lá / é / só / bin / sh
Posts: 3.652
Não existe tal coisa como um "conjunto de caracteres AIX". Há bytes no arquivo, e aí é o seu terminal, e existem várias convenções, para saber como exibir os bytes no arquivo em qualquer terminal. Se você conhecer o conjunto de caracteres codificação do arquivo, e do caráter de seu repertório terminal, você pode prever como um determinado byte seqüência será exibida, mas se um ou o outro é desconhecida, ela é muito difícil dizer o que você deve esperar ( ou mesmo na verdade o que você está falando).

Plain 7 bits de dados é geralmente apresentado como ASCII, que é completamente bem definidos, mas o (tm) caráter não faz parte da 7-bit ASCII caracteres, você visualiza o arquivo estão aparentemente sob duas diferentes interpretações do personagem - definir a codificação do arquivo, talvez usando dois diferentes terminais, ou de diferentes instrumentos que imponham diferentes hipóteses. (No AIX, talvez você tenha a opção de adicionar EBCDIC na mistura, mas não vamos para lá.)

Enfim, para resolver este problema, você pode querer usar um hex dump ferramenta (od, xxd, hexdump, Ou mesmo apenas CAT-A) Para inspecionar o que a real bytes no arquivo são. Depois de saber que, não deve ser difícil descobrir a codificação que dá a interpretação que quiser, e / ou converter o arquivo para a representação que você deseja.
  #4 (permalink)  
Old 09-01-2008
COSEC cosec is offline
Usuário
  
 

Join Date: Sep 2007
Lugares: 12
Obrigado pela resposta .. eu descobri que o conjunto de caracteres codificação utilizada é ISO8859-1 e não tem o sinal de marcas. A marca característica é uma palavra reservada e ali exibidos como SUB.

É possível converter o arquivo para outro com o arquivo com uma codificação diferente conjunto de caracteres e ser capaz de exibir a marca registrada personagem?

Em caso afirmativo, como é que poderia ser feito através do Unix?

Obrigado
  #5 (permalink)  
Old 09-01-2008
Annihilannic Annihilannic is offline Forum Advisor  
  
 

Join Date: May 2008
Localização: Sydney, Austrália
Posts: 1.009
Onde é que você precisa exibir o Trademark personagem? Em uma sessão de terminal AIX de algum tipo? Ou em alguma aplicação ou cliente que se conecta ao servidor? Ou em algum outro sistema que os dados serão eventualmente transferidos para?
  #6 (permalink)  
Old 09-02-2008
era era is offline Forum Advisor  
Herder do Inútil Gatos (On Sabático)
  
 

Join Date: Mar 2008
Localização: / lá / é / só / bin / sh
Posts: 3.652
A grande questão está no conjunto de caracteres que você vê a marca assinar, ou, o que ISO-8859-1 caracteres que você vê como um personagem SUB (independentemente do que é isso?)

Em ASCII existe um controle caráter SUB (Ctrl-Z), que tem o código 26 caracteres decimais (octal 032, hex 0x1A) - é que aquilo que você tem no seu arquivo? O que seria útil uma codificação para transferi-la para? A seguir vai traduzir todas as ocorrências desse personagem código no Unicode marca símbolo caráter U 2122 na codificação UTF-8:


Código:
perl -pe 's/\x1A/\xE2\x84\xA2/g' file.orig > file.utf8

Ou na norma ISO-8859-1, não há registro do sinal ® em código 0xAE ponto, teria que ser um bom substituto?


Código:
perl -pe 's/\x1A/\xAE/g' file.orig > file.iso-8859-1

Isto pressupõe que o personagem é realmente SUB caráter código 0x1A; se não é, mas você pode descobrir o que está em vez disso, deveria ser trivial para se adaptar, quer um desses liners para algo que funciona para você. Algumas páginas têm o código do Windows símbolo de marca em 0x99, para que possa ser uma coisa para tentar se 0x1A, não funciona para você (mas novamente, se você pode olhar para as matérias-primas bytes no arquivo, você não tem que adivinhar) .

Última edição por época; em 09/02/2008 02:59.. Motivo: Adicionar ISO8859-1 ® substituição; observação sobre o Windows 0x99 caracteres
Closed Thread

Marcadores

Tags
conjunto de caracteres, codificação

Thread Tools Pesquisar este Thread
Pesquisar este Thread:

Pesquisa Avançada
Display Modes Esta taxa Thread
Esta taxa Thread:

Destacamento Regimento
Você não pode postar novas threads
Você não pode postar respostas
Você não pode postar anexos
Você não pode editar suas postagens

BB code é Ligado
Smilies são Ligado
[IMG] código é Ligado
Código HTML é Desligado
Trackbacks são Ligado
Pingbacks são Ligado
Refbacks são Ligado




Todos os horários são GMT -4. A hora é agora 07:06.


Powered by: vBulletinCopyright © 2000 - 2006, Jelsoft Enterprises Limited. Língua Traduções Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
O UNIX e Linux Fóruns Content Copyright © 1993-2009. Todos os Direitos Reserved.Ad Gestão por RedTyger

Content Relevant URLs por vBSEO 3.2.0