[Resolvido] Problemas com formulário Upload e acentuação de carac
Olá,
Estou com um probleminha que eu nunca tive antes porém não estou conseguindo solucionar. Tenho um formulário com enctype="multipart/form-data" e ele aponta para uma página .ASP que faz o upload e o registro de dois campos no MySQL. O upload funciona bem e o registro dos campos fica com caracteres ilegíveis. Vale ressaltar que a página do formulario está configurada para UTF-8 e a página de upload.asp também.
FORMULARIO
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"[]>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<form name="form1" enctype="multipart/form-data" action="upload.asp">
<input name="colecao" type="text" id="colecao" value="" size="25" maxlength="50" />
<textarea name="sinopse" cols="64" rows="6" id="sinopse"></textarea>
<input name="imagem" type="file">
<input type="submit" name="submit" value="Cadastrar"/>
</form>
</body>
</html>
UPLOAD (upload.asp)
<%
Server.scripttimeout = 10000
Dim objUpload
Set objUpload = Server.CreateObject("aspSmartUpload.SmartUpload")
objUpload.CodePage = "utf-8"
objUpload.AllowedFilesList = "jpg,jpeg,png"
objUpload.MaxFileSize = 500000
If Request.TotalBytes > 500000 Then
Response.Redirect "up_erro.asp"
Else
With objUpload
.Upload
fotoNome = .Files("imagem").FileName
End With
colecao = objUpload.Form("colecao")
sinopse = objUpload.Form("sinopse")
numero = RSid.Fields.Item("id").Value + 1
foto = numero & ".jpg"
caractere = "_"
For Each File In objUpload.Files
If Not File.IsMissing Then
File.SaveAs(Server.MapPath("../images/colecoes/_") & foto)
End If
Next
sql = "INSERT INTO colecoes (colecao,sinopse,imagem) VALUES ('"&colecao&"','"&sinopse&"','"&caractere&""&foto&"')"
Set conexao = conexao.execute(sql)
Set JPEGg = Server.CreateObject("Persits.Jpeg")
JPEGg.Open (Server.MapPath("../images/colecoes/_"& foto))
if JPEGg.Width > JPEGg.Height then
intXSize = 210
intYSize = (intXSize / JPEGg.Width) * JPEGg.Height
else
intYSize = 300
intXSize = (intYSize / JPEGg.Height) * JPEGg.Width
end if
JPEGg.Width = intXSize
JPEGg.Height = intYSize
JPEGg.Save(Server.MapPath("../images/colecoes/_") & foto)
Set JPEGg = nothing
Response.Redirect "up_ok.asp"
End If
%>
Eu dei um Response.Write nos objetos "colecao" e "sinopse" e eles estão retornando algo do tipo:
Coleção: Coleção XX
Sinopse: ação para todos
Sendo assim eu gostaria de saber como manter os dados dos campos do formulário sempre em UTF-8.
OBS: eu fiz o mesmo formulário sem usar o upload de imagem e deu certo, ou seja, os dados são gravados no MySQL com a acentuação correta, mas quando o formulário é do tipo enctype="multipart/form-data" ele dá pau!
Grato!
Discussão (10)
Carregando comentários...