09/10/2018, 22:38
ASP upload file nhưng bị lỗi tiếng việt
Tôi sử dụng asp để tạo trang tin tức, nhưng mà khi tạo site admin tôi muốn upload cả tin tức và ảnh thì lại không được như ý. Ảnh upload lên thì được rồi, nhưng text thì không hiện ra tiếng việt. Tôi sử dụng mã nguồn download được về như sau2 file đính kèm)
Cách upload lên thì không có khó gì.
Đây là trang uploadNews.asp của tôi:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%
username=Session("username")
if username="" then
Response.Redirect("access_denied.asp")
Response.End()
end if
%>
<!--#include file="clsUpload.asp" -->
<!--#include file="DBConnection.asp" -->
<%
Dim objUpload
Dim strFileName
Dim strPath
Set objUpload = New clsUpload
strFileName = objUpload.Fields("File").FileName
'Response.Write Server.MapPath("ImagesNews") & "" & strFileName
strPath = Server.MapPath("ImagesNews") & "" & strFileName
objUpload("File").SaveAs strPath
strSQL="INSERT INTO News(Title,Spec,Content,Source,NDate,Des,Img) VALUES(N'" & Replace(objUpload("Title").Value,"'","'") & "',N'" & Replace(objUpload("Spec").Value,"'","'") & "',N'" & Replace(objUpload("Content").Value,"'","'") & "',N'" & Replace(objUpload("Source").Value,"'","'") & "','" & Replace(objUpload("Ndate").Value,"'","'") & "',N'" & Replace(objUpload("Des").Value,"'","'") & "',N'ImagesNews" & strFileName & "')"
Response.BinaryWrite(strSQL)
conn.execute(strSQL)
conn.close()
'Response.Redirect("View_News.asp")
%>
Lỗi của tôi không phải do đặt codepage hoặc thẻ meta với charset = utf-8 (tôi đã thử). Tôi nghi ngờ rằng khi dùng class Upload, nó phải đọc hết request dưới dạng binary, rồi khi chuyển lại text thi mất mã unicode.
Ví dụ trường Title khi tôi add vào, ban đầu giá trị là:
"Bán hàng rong, quà vặt không được coi là thương nhân!"
Sau khi upload nó biến thành :
"BBBn hhhng rong, quuà vváºt khhÃng Ä‘Æ°á»c coi llà thhÆ°Æng nhhÃn!"
Không biết bạn nào đã từng gặp phải cái này, có thể giúp tôi đưọc không? Tôi rất mù mờ về Unicode.
Cảm ơn các bạn trước.
Cách upload lên thì không có khó gì.
Đây là trang uploadNews.asp của tôi:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%
username=Session("username")
if username="" then
Response.Redirect("access_denied.asp")
Response.End()
end if
%>
<!--#include file="clsUpload.asp" -->
<!--#include file="DBConnection.asp" -->
<%
Dim objUpload
Dim strFileName
Dim strPath
Set objUpload = New clsUpload
strFileName = objUpload.Fields("File").FileName
'Response.Write Server.MapPath("ImagesNews") & "" & strFileName
strPath = Server.MapPath("ImagesNews") & "" & strFileName
objUpload("File").SaveAs strPath
strSQL="INSERT INTO News(Title,Spec,Content,Source,NDate,Des,Img) VALUES(N'" & Replace(objUpload("Title").Value,"'","'") & "',N'" & Replace(objUpload("Spec").Value,"'","'") & "',N'" & Replace(objUpload("Content").Value,"'","'") & "',N'" & Replace(objUpload("Source").Value,"'","'") & "','" & Replace(objUpload("Ndate").Value,"'","'") & "',N'" & Replace(objUpload("Des").Value,"'","'") & "',N'ImagesNews" & strFileName & "')"
Response.BinaryWrite(strSQL)
conn.execute(strSQL)
conn.close()
'Response.Redirect("View_News.asp")
%>
Lỗi của tôi không phải do đặt codepage hoặc thẻ meta với charset = utf-8 (tôi đã thử). Tôi nghi ngờ rằng khi dùng class Upload, nó phải đọc hết request dưới dạng binary, rồi khi chuyển lại text thi mất mã unicode.
Ví dụ trường Title khi tôi add vào, ban đầu giá trị là:
"Bán hàng rong, quà vặt không được coi là thương nhân!"
Sau khi upload nó biến thành :
"BBBn hhhng rong, quuà vváºt khhÃng Ä‘Æ°á»c coi llà thhÆ°Æng nhhÃn!"
Không biết bạn nào đã từng gặp phải cái này, có thể giúp tôi đưọc không? Tôi rất mù mờ về Unicode.
Cảm ơn các bạn trước.
Bài liên quan
<% codepage="65001"%>
Còn cơ sở dữ liệu thì fair config để có thể chứa unicode
Chúc thành công
Đệ tử đang tìm cách để Uploda 1 file lên Server IIS mà không tìm ra, mong mấy sư phụ chỉ cho ạ
ví dụ có một máy Server và một máy Client trong net, muốn Upload file .rar lên Server chẳng hạn,
rất mong mấy sư phụ chỉ cho đệ tử ạ
(trong DB trường được đặt là nvarchar, khi insert dữ liệu đặt thêm ký tự N)ví dụ
insert into tblName(Name) values(N'Vũ')
Thử xem nhé, tui cũng có làm rồi, chạy không tồi đâu. Còn code thi nhiều lắm, mail tới tui tui cho, với lại cái code hình như tren manguon.com nó đang share đó, nhưng với điều kiện bác phải là thành viên có bài viết mới down được, thôi mail cho tui tui gởi cho.
chaudb@gmail.com