Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

<%Rafael%>

FSO - Criando arquivo e escolhendo codificação

Recommended Posts

Fala pessoal, beleza?

 

Seguitne.. tenho um sistema administrativo que gera um arquivo TXT que será lido posteriormente pelo Flash.

Entretanto, estou tendo problemas com acentuação, e isso se deve ao fato do arquivo TXT ser criado com a codificação padrão...

 

O que eu preciso, é forçar o FSO a criar o txt com codificação UTF-8, porém desconheço alguma linha de código que faça isso, que possa declarar que o arquivo deve ser criado com a codificação UTF-8...

 

Alguém sabe de alguma forma, ou se através de algum componente, é possível fazê-lo?

 

Obrigado, e abraços! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala Ted, beleza?

 

Então, no arquivo do ASP já tentei sim, na primeira linha da página que cria o TXT, porém o arquivo, quando criado, não recebe nenhum parâmetro com esse charset...

 

Não sei se existe no FSO alguma linha que declare o tipo de charset, dei uma procurada e não achei nada a respeito...

 

Algo como objFso.Charset. Alguém sabe se existe algo assim?

 

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Assim como você quer eu desconheço, não estou afirmando que não exista, só realmente desconheço, já tive problemas com arquivos TXT usei o charset e o CODEPAGE e funcionaram!

Compartilhar este post


Link para o post
Compartilhar em outros sites

você poderia criar o txt e depois inserir a codifiação nele, atraves do writeline do FSO...

ou usar componente com o Chilkat Charset ActiveX. e tb pode usar uma função para

converter o conjunto de caracteres para UTF-8.

 

<%
option explicit 


'IsValidUTF8
'   Diz-se a string é válida codificado em UTF-8 
'Retorna:
'  true (valid UTF-8)
'  false (invalid UTF-8 or not UTF-8 encoded string)
function IsValidUTF8(s)
  dim i
  dim c
  dim n

  IsValidUTF8 = false
  i = 1
  do while i < len(s)
	c = asc(mid(s,i,1))
	if c and &H80 then
	  n = 1
	  do while i + n < len(s)
		if (asc(mid(s,i+n,1)) and &HC0) <> &H80 then
		  exit do
		end if
		n = n + 1
	  loop
	  select case n
	  case 1
		exit function
	  case 2
		if (c and &HE0) <> &HC0 then
		  exit function
		end if
	  case 3
		if (c and &HF0) <> &HE0 then
		  exit function
		end if
	  case 4
		if (c and &HF8) <> &HF0 then
		  exit function
		end if
	  case else
		exit function
	  end select
	  i = i + n
	else
	  i = i + 1
	end if
  loop
  IsValidUTF8 = true 
end function

'DecodeUTF8
'Decodifica 
'Retorna:

function DecodeUTF8(s)
  dim i
  dim c
  dim n

  i = 1
  do while i < len(s)
	c = asc(mid(s,i,1))
	if c and &H80 then
	  n = 1
	  do while i + n < len(s)
		if (asc(mid(s,i+n,1)) and &HC0) <> &H80 then
		  exit do
		end if
		n = n + 1
	  loop
	  if n = 2 and ((c and &HE0) = &HC0) then
		c = asc(mid(s,i+1,1)) + &H40 * (c and &H01)
	  else
		c = 191 
	  end if
	  s = left(s,i-1) + chr(c) + mid(s,i+n)
	end if
	i = i + 1
  loop
  DecodeUTF8 = s 
end function

'EncodeUTF8
'Retorna:
'  A UTF-8 encoded string
function EncodeUTF8(s)
  dim i
  dim c

  i = 1
  do while i < len(s)
	c = asc(mid(s,i,1))
	if c >= &H80 then
	  s = left(s,i-1) + chr(&HC2 + ((c and &H40) / &H40)) + chr(c and &HBF) + mid(s,i+1)
	  i = i + 1
	end if
	i = i + 1
  loop
  EncodeUTF8 = s 
end function
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.