Página 1 de 1

Shell Script e UTF8

MensagemEnviado: Sex Abr 13, 2012 1:02 pm
por daniel.uramg
Olá pessoal,
fiz um gerador de XML em SH que rodo no meu BFW 2.x, porém o arquivo fica salvo com codificação ANSI, e preciso que seja em UTF8
esse XML é pra enviar pra um serviço do Google, dai quando envio da um erro na linha e caractere tal, onde tem um acento
se eu baixar este XML pro PC, abrir com o FrontPage e salvar, ai ele converte e dai envio pro Google ai da tudo Ok.

a maneira q achei de converter no Linux pra UTF8 é com o iconv (http://linux.die.net/man/1/iconv)
até achei o libconv aqui no forum, mas não consegui fazer funcionar

alguem sabe como faço??

grato

Re: Shell Script e UTF8

MensagemEnviado: Seg Abr 16, 2012 7:06 pm
por jhonfw
hola
iconv sale de glibc
uclibc para 2.x
y eglibc para 3.x

deben estar sin compilar en el buildtree
al menos en la version 3
en la 2.32 supongo

de preferencia use las que están en el buildtree

Re: Shell Script e UTF8

MensagemEnviado: Ter Mai 15, 2012 4:59 pm
por daniel.uramg
Ola jhonfw, cara o problema é que no BFW não tem o iconv compilado
até existe um addon libiconv.tgz, mas não consegui funcionar de geito nenhum
pesquisei bastante e a solução mais pratica que achei foi com o iconv mesmo, mas precisaria compilar ele pro BFW,e como fazer isso não é tão simples e minha necessidade não é tão grande estou baixando este XML manualmente abro e salvo no FrontPage que ele converte, por hora esta sendo a melhor alternativa!

Grato

Re: Shell Script e UTF8

MensagemEnviado: Ter Mai 15, 2012 7:09 pm
por ThiagoNG
daniel.uramg escreveu:Ola jhonfw, cara o problema é que no BFW não tem o iconv compilado
até existe um addon libiconv.tgz, mas não consegui funcionar de geito nenhum
pesquisei bastante e a solução mais pratica que achei foi com o iconv mesmo, mas precisaria compilar ele pro BFW,e como fazer isso não é tão simples e minha necessidade não é tão grande estou baixando este XML manualmente abro e salvo no FrontPage que ele converte, por hora esta sendo a melhor alternativa!

Grato

Dani boy meu caro, quanto tempo!
Seguinte, se por acaso tiver ai as info dessa lib passa pra gente aqui que tentamos compilar ela uai...rssrs
Abraços brother.

Re: Shell Script e UTF8  TOPIC_SOLVED

MensagemEnviado: Qua Mai 16, 2012 1:45 am
por br_lemes
Coloquei o iconv nos meus build scripts (também no github)

Compiladinho (BFW 2.x): http://dl.dropbox.com/u/1903205/libiconv.tgz
Mas faz download ai e avisa, que não vou deixar para sempre no Dropbox.

No BFW 3.x se não me engano tem na buildtree, só pegar de lá.

Re: Shell Script e UTF8

MensagemEnviado: Qua Mai 16, 2012 10:30 am
por daniel.uramg
br_lemes escreveu:Coloquei o iconv nos meus build scripts (também no github)

Compiladinho (BFW 2.x): http://dl.dropbox.com/u/1903205/libiconv.tgz
Mas faz download ai e avisa, que não vou deixar para sempre no Dropbox.

No BFW 3.x se não me engano tem na buildtree, só pegar de lá.

:aplause: :aplause: fechou com esse seu Addon agora!
eu tinha baixado esta lib da pasta do Nachazo (http://www.brazilfw.com.br/users/nachazo/official/librerias/libiconv.tgz)
este tem 620Kb, não funcionou, a sua tem 1.24Mb e funcionou perfeitamente!

valew br_lemes, jhonfw e ThiagoNG abraks!

PS: Thiago, agora é ThiagoNewGeneration?? rsrsrs

Re: Shell Script e UTF8

MensagemEnviado: Qua Mai 16, 2012 3:24 pm
por ThiagoNG
br_lemes escreveu:Coloquei o iconv nos meus build scripts (também no github)

Compiladinho (BFW 2.x): http://dl.dropbox.com/u/1903205/libiconv.tgz
Mas faz download ai e avisa, que não vou deixar para sempre no Dropbox.

No BFW 3.x se não me engano tem na buildtree, só pegar de lá.

Muito show mesmo Breno, Valeu por mais essa grande contribuição.
Obrigado mesmo. :aplause: :aplause: :aplause: :aplause: :aplause: :aplause: :aplause:
daniel.uramg escreveu:
br_lemes escreveu:Coloquei o iconv nos meus build scripts (também no github)

Compiladinho (BFW 2.x): http://dl.dropbox.com/u/1903205/libiconv.tgz
Mas faz download ai e avisa, que não vou deixar para sempre no Dropbox.

No BFW 3.x se não me engano tem na buildtree, só pegar de lá.

:aplause: :aplause: fechou com esse seu Addon agora!
eu tinha baixado esta lib da pasta do Nachazo (http://www.brazilfw.com.br/users/nachazo/official/librerias/libiconv.tgz)
este tem 620Kb, não funcionou, a sua tem 1.24Mb e funcionou perfeitamente!

valew br_lemes, jhonfw e ThiagoNG abraks!

PS: Thiago, agora é ThiagoNewGeneration?? rsrsrs

Eita brother, nem fala nessa nova geração....kkkkk más eh por ae...rsrs abraços meu irmaão, sucesso pra ti ae.
aparece pra trocarmos ideias :D

Re: Shell Script e UTF8

MensagemEnviado: Qua Mai 16, 2012 3:30 pm
por fabiosammy
Fugindo um pouco do tópico...

Uns tempos, a galera postava tudo o que fazia com o bfw, até mesmo veio uns tempos o pessoal fazendo joguinhos nele! (Sim, eu vi isso, era no estilo de pacman, space invaders entre outros...) E eu achava o máximo.

Daniel, porque você não posta detalhes do que ta fazendo, ou como fez? Eu acho que deixar esse tipo de tópico exposto, ajuda pra quem gosta de brincar com o sistema. (Eu sou um que no fork, posto até se eu troquei a ordem de letras, rs... e ja recebi elogios) Eu acho que devemos "fomentar" esse lado do projeto que anda "desgastante".

Abraços

Re: Shell Script e UTF8

MensagemEnviado: Qua Mai 16, 2012 3:49 pm
por daniel.uramg
Fabio, o esquema aqui nesse caso é o seguinte!:
eu fiz minha "loja virtual" toda em CGI no BFW, tem um formulario em CGI por onde cadastro os itens, que ficam salvos em arquivos texto no servidor, e quando acessam o site que é também em CGI ele monta a estrutura dos anuncios dos produtos "on the fly"

então fiz este gerador de XML para que estes produtos apareçam no Google Shopping, o Google Merchant (por onde se cria os anuncios pra aparecer no Shopping) tem como eu adicionar Feeds de Dados e programar pra baixar com hora agendada, então sempre que cadastro/removo/edito algum produto no meu site, eu já gero este XML que vai ser lido toda noite pelo Merchant pra ficar sempre atualizado.

Veja este é um XML pronto gerado:
http://www.digipaperinformatica.com/produtos.xml

o código do script gerador é extremamente simples:
Código: Selecionar todos
#!/bin/sh
#Gerador de XML para WebLoja - daniel.uramg 04/2012
PATH="/partition/webloja"
PATHWEB="/partition/apache/htdocs/digipaperinformatica"

#CRIA ESTRUTURA INICIAL DO XML
echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>
<rss xmlns:g=\"http://base.google.com/ns/1.0\" version=\"2.0\">
   <channel>
      <title>Digipaper Informática</title>
      <link>http://www.digipaperinformatica.com</link>
      <description>Computadores, impressoras, monitores e notebook usados com excelente qualidade e gatantia!</description>
">$PATHWEB/init.xml

#LE CADA ARQUIVO DOS PRODUTOS
   ls $PATH/produtos | sort -n -r | while read ID; do
QTD=`grep "^Quantidade:" $PATH/produtos/$ID | sed 's/^Quantidade: //'`
ITEM=`grep "^Produto:" $PATH/produtos/$ID | sed 's/^Produto: //'`
VALOR=`grep "^Valor:" $PATH/produtos/$ID | sed 's/^Valor: //'`
CATEGORIA=`grep "^Categoria:" $PATH/produtos/$ID | sed 's/^Categoria: //'"`
PESO=`grep "^Peso:" $PATH/produtos/$ID | sed 's/^Peso: //'`
DESC=`grep "^Descrição:" $PATH/produtos/$ID | sed 's/^Descrição: //' | sed 's/%20/ /g' | sed 's/&/n/g' | sed 's/<[^>]*>//g' | sed 's/</ /g' | sed 's/>/ /g'`
MARCA=`grep "^Marca:" $PATH/produtos/$ID | sed 's/^Marca: //'"`
TIPO=`grep "^Tipo:" $PATH/produtos/$ID | sed 's/^Tipo: //'"`
[ -z "$TIPO" ] && TIPO="used"

#SE QUANTIDADE FOR MAIOR QUE "0" SEGUE
      if [ "$QTD" -gt 0 ]; then
echo "      <item>
         <title>$ITEM</title>
         <link>http://www.digipaperinformatica.com/?main=genhtml.cgi?PRODID=$ID</link>
         <description>$DESC</description>
         <g:id>$ID</g:id>
         <g:brand>$MARCA</g:brand>
         <g:condition>$TIPO</g:condition>
         <g:price>R\$ $VALOR</g:price>
         <g:availability>in stock</g:availability>
         <g:image_link>http://www.digipaperinformatica.com/imagens/$ID-1.jpg</g:image_link>" >>$PATHWEB/init.xml

#SE EXISTIR SEGUNDA IMAGEM
   if [ -e "$PATHWEB/imagens/$ID-2.jpg" ]; then
echo "         <g:image_link>http://www.digipaperinformatica.com/imagens/$ID-2.jpg</g:image_link>" >>$PATHWEB/init.xml

#SE EXISTIR TERCEIRA IMAGEM
   fi
   if [ -e "$PATHWEB/imagens/$ID-3.jpg" ]; then
echo "         <g:image_link>http://www.digipaperinformatica.com/imagens/$ID-3.jpg</g:image_link>" >>$PATHWEB/init.xml
   fi

echo "         <g:shipping>
            <g:country>BR</g:country>
            <g:service>Encomenda PAC - Correios</g:service>
            <g:price>R\$ $VALOR</g:price>
         </g:shipping>
         <g:product_type>$CATEGORIA</g:product_type>
      </item>
" >>$PATHWEB/init.xml
      fi
   done
#FECHA ESTRUTURA DO XML
echo "   </channel>
</rss>" >>$PATHWEB/init.xml

#CONVERTE XML PARA CODIFICAÇÃO UTF-8
/usr/bin/iconv -f WINDOWS-1252 -t UTF-8 $PATHWEB/init.xml > $PATHWEB/produtos.xml
rm $PATHWEB/init.xml


a loja virtual tem umas falhas de segurança então por enquanto não posso postar as fontes dela, mas quando ageitar posto ela toda aqui no fórum também

Re: Shell Script e UTF8

MensagemEnviado: Qua Mai 16, 2012 3:57 pm
por fabiosammy
Muito show!!! :aplause:

Ta usando o "tinyphp"? Ou servidor apache?

Quanto a essa linha:
Código: Selecionar todos
QTD=`grep "^Quantidade:" $PATH/produtos/$ID | sed 's/^Quantidade: //'`

Da para mudar para isso:
Código: Selecionar todos
QTD=$(awk -F ":" '/^Quantidade:/{ print $2 }' $PATH/produtos/$ID)

Remove chamada para um outro programa, otimizando a memória. É uma dica. :mrgreen:

Re: Shell Script e UTF8

MensagemEnviado: Qua Mai 16, 2012 4:43 pm
por daniel.uramg
fabiosammy escreveu:Muito show!!! :aplause:

Ta usando o "tinyphp"? Ou servidor apache?

Quanto a essa linha:
Código: Selecionar todos
QTD=`grep "^Quantidade:" $PATH/produtos/$ID | sed 's/^Quantidade: //'`

Da para mudar para isso:
Código: Selecionar todos
QTD=$(awk -F ":" '/^Quantidade:/{ print $2 }' $PATH/produtos/$ID)

Remove chamada para um outro programa, otimizando a memória. É uma dica. :mrgreen:

po cara show valew por essa dica, ja corrigi nas variavel tudo hehehe

cara ta rodando no Apache, Shell puro aqui! :mrgreen: