ASP UTF-8 转Unicode

luojingjing 2008-03-28 09:19:08
数据库的字符集是utf-8编码 我想把数据库的数据导入Excel
中文出现乱码。如何解决呢。
我用的是英文环境。
例如 “项目管理" 从数据库取出来是"项目管理"。如何把"项目管理"转换成“项目管理”再导入excel 呢。
...全文
370 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
nigelyan029 2009-04-08
  • 打赏
  • 举报
回复
http://blog.sina.com.cn/s/blog_4d25c9870100chmu.html
这个也许有用。。。。
在我的BLOG里面,有几个文章看了之后,可以实现GB2312----UNICODE
UTF-8------UNICODE UNICODE---GB2312 UNICODE----UTF8
luojingjing 2008-04-10
  • 打赏
  • 举报
回复
谢谢大家,我自己解决了,下面就是答案:
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
sPath = Server.MapPath(".")
IF objFSO.FileExists(sPath&"\PDS_List.csv") Then
objFSO.DeleteFile(sPath&"\PDS_List.csv")
End IF

SET loadStream= Server.CreateObject("ADODB.Stream")
set saveStream= Server.CreateObject("ADODB.Stream")
IF objFSO.FileExists(sPath&"\PDS_List1.csv") Then
With saveStream
.Mode = 8
.Open
.Charset = "chinese" '设置保存文件的字符集类别,如果是中文用户建议使用“chinese᾿ '当然如果用“ascii”也可以的,但中文就... '字符集的类别见本站《字符集(Charset)的查询和使用》文章⾿
With loadStream
.Open
.Charset = "utf-8" '设置读取文件的字符集,缺省为“unicode᾿
.LoadFromFile ""&sPath&"\PDS_List1.csv" '对文件名似乎要区分大小写,请注意了!
.CopyTo saveStream
.Close
End With
.SaveToFile ""&sPath&"\PDS_List.csv" '无法判断制定目录中是否有该文件,而且也无法覆癿 '只能写一个新文件,清注意ﺿ
.Close
End With
Set loadStream = Nothing
Set saveStream = Nothing
End If
luojingjing 2008-04-01
  • 打赏
  • 举报
回复
谢谢qianet的回答。

我的中文字能在网页正常显示。只是把数据导到EXCEL时不能正常显示中文字,显示乱码。
千念陌 2008-04-01
  • 打赏
  • 举报
回复
我有一个自己的发现,希望对楼主能有所参考:
1.向数据库写入数据的程序文件和从数据库向外读数据的文件的编码格式一定要一致.
2.所有的程序文件尽量都用utf-8编码,比较方便.
3.对应的页面编码一定要和pagecode对应一致:bg2312对应936 ==.

我发现,当我在简体页面的表单中填写繁体字时,在简体页面中也是可以直接显示繁体字的.
而我字简体页面的表单中填繁体字,再繁体页面中是乱码的!

希望能对楼主有所帮助!
HilerChen 2008-04-01
  • 打赏
  • 举报
回复
饱受煎熬,真诚关注此贴。
luojingjing 2008-03-31
  • 打赏
  • 举报
回复
现在页面全部是UTF-8,可是中文字不能在EXCEL正常显示...苦恼中..........
smartcatiboy 2008-03-31
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 zhongdaiqi 的回复:]
这个就不发表什么看法了,我深受编码问题之苦,思量着来一个alltoGb2312
[/Quote]

最好AlltoUtf-8,要不以后回很烦恼。
Lancker 2008-03-31
  • 打赏
  • 举报
回复
这个就不发表什么看法了,我深受编码问题之苦,思量着来一个alltoGb2312
wpjwll 2008-03-31
  • 打赏
  • 举报
回复
up
luojingjing 2008-03-31
  • 打赏
  • 举报
回复
superwfei,你好,

用C4Code("汉字","UTF-8","GB2312") ' UTF8 转 GB2312转还是出现乱码。

我是用ASP页面往数据库加数据,而ASP页面是UTF-8的编码,数据库、服务器是英文版。不知道这样的环境原始字符编码是什么?

我也偿试加入数据的时候如果ASP页面是gb2312的编码,用C4Code("汉字","iso-8859-1","GB2312"),中文字就能正常显示。

但是现数据库的记录很多,不可能用gb2312编码的ASP页面改变所有记录。

所以还请你帮忙看看~~谢了~~
文盲老顾 2008-03-31
  • 打赏
  • 举报
回复
vStr 原始字符串

fromCharset 原始字符编码设置

toCharset 转换后编码设置

C4Code("汉字","UTF-8","GB2312") ' UTF8 转 GB2312
luojingjing 2008-03-31
  • 打赏
  • 举报
回复
superwfei谢谢你的回答。

我想请问FromCharset,ToCharset是什么编码?
文盲老顾 2008-03-28
  • 打赏
  • 举报
回复
Function C4Code(vStr,FromCharset,ToCharset)
Dim File
Set File = server.CreateObject("Adodb.Stream")
File.Charset = ToCharset
File.Mode = 3
File.Open
File.Type = 2
File.Position = 0
File.WriteText vStr
File.Position = 0
File.Charset = FromCharset
C4Code = File.ReadText
End Function


try this

28,409

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧