ASP+Access UTF-8 网页乱码问题解决办法

时间:2021-10-28 03:24:16

用ACCESS数据库和ASP做网站时用UTF-8编码有时会出现乱码,再者网页出错或者刷新页面后就是乱码,如果数据库取值乱码在开头加上<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%Session.CodePage = 65001%><meta http-equiv="Content-Type" content="text/html; charset=utf-8" />就可以了

当我们用ASP从数据库中读取中文的时候出现乱码,解决的办法是:
首先看你的代码中是否包含了这句代码   <" CODEPAGE="936"%> 简体中文,其次看一下这句代码是不是出现在连接数据库代码之前,如果不是放在连接数据库代码的前面也可能会出错,一般建议放在最顶端,这样最保险。
另外我们要加的这句代码也可能是
<" CODEPAGE="650"%> 繁体中文
<" CODEPAGE="65001"%> UTF-8797000024
这取决你使用的编码,如果你使用的编码是utf-8
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
那么你就用 <" CODEPAGE="65001"%>
如果你是使用的gb2312
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
那么你就应该用 <" CODEPAGE="936"%>
具体要看你
ASP+Access UTF-8 网页乱码问题

用asp,access数据库,网页编码是utf-8。出现乱码,所有从数据库里读的中文字都是乱码。
问题解决:
<%@codepage="65001"%>powered by 25175.net
< http-equiv="Content-Type" content="text/html; charset=UTF-8">
另外,文件要存为utf-8格式的

要是有错误的程序,那么刚打开的时候正常的,刷新了就乱码了
这里说的出错时不会使整个页面不显示的出错。
1,<%@codepage="65001"%>
2,< http-equiv="Content-Type" content="text/html; charset=UTF-8">
3,Session.CodePage = 65001
4,文件存成 UTF-8

2,< http-equiv="Content-Type" content="text/html; charset=UTF-8">
=======================================
这条比较重要,也比较常见,这个决定了浏览者浏览器选择哪一种内码来访问你的网页。
4,文件存成 UTF-8
如果你用中文输入法,网页里面出现中文,这一条就比较重要了.因为我们用普通输入法输入的文字不是UTF格式的,所以要重新保存成 UTF-8格式。
所有从数据库里读的中文字都是乱码
=====================
1,<%@codepage="65001"%>
出现这种事情,请加上这句话,其实数据库跟内码没什么关系,关键是ASP程序用什么内码去传输你的数据,加上这句话,就强制ASP用UTF来传输数据。
尝试在<%@codepage="65001"%>下加一行:
<%Session.CodePage=65001%>
一、操作系统
window系统内部都是unicode的。文件夹名,文件名等都是unicode的,任何语言系统下都能正常显示。
二、输入法:
微软拼音输出的是Unicode的,智能ABC输出是简体中文的(所以智能ABC在非简体中文系统根本不能用,只能打英文)。

三、网页的textarea
网页的textarea是用unicode显示的。所以往里打什么字都能显示。而一些flash做的输入框就不行了。
四、Access2000
access里面保存的数据是unicode的,在任何语言系统下都能显示。
如果数据视图查看有些字符不正常,那是因为显示所用的字体不是Unicode字体,
换用Arial Unicode MS 字体就能全部显示了。(access帮助,搜索,输入unicode,有说明)
五、Word
word里的繁简转换,简体转换到繁体后,内码仍是简体中文的,其实只是简体中的繁体字。
六、ASP内部是Unicode的,所有文本都是Unicode存储的。需要时转换到指定字符集。
=======================================================
首先说下结论:
<%@ codepage=936%>简体中文
<%@ codepage=950%>繁体中文
<%@ codepage=65001%>UTF-8
codepage指定了IIS按什么编码读取传递过来的串串(表单提交,地址栏传递等)。
也指定了所有文本变量从Unicode转换到的编码,
也就指定了从数据库取出的数据从Unicode转换到的编码。(注意这个,很重要。)
关键字:
读取:一个串串,按简体读取是一些字,按繁体读取是一些字,串串本身编码没有变。
转换:系统主动的转换,比如从Unicode的“化”字到Big5的“化”字,内码变成Big5的。如果Big5没有对应的字,保留Unicode形式(&#xxxx;)
简体中文:化六个结论
Unicode16进制形式:化六个结论
Unicode10进制形式:化六个结论
下面是我推测出来的编码转换的过程:
客户端:输入法Unicode--输入框unicode--从Unicode按charset转换到对应编码()--表单发送编码
服务器端:IIS解开表单编码--按codepage指定编码读取--转换到对应的Unicode--可以用request("")读取了--进行一些处理--以Unicode编码保存到数据库
服务器端:读取数据库的Unicode数据,转换到codepage指定编码---生成源代码--IE按charset读取显示。

下面举例说明:
例一:
假设有三个asp页面,典型的留言页面:
1. write.asp 简单的输入表单,提交到add.asp。
<META http-equiv="Content-Type" content="text/html; charset=big5">
2. add.asp 接收留言,保存到数据库
<%@ codepage=936%>
3. read.asp 从数据库取得留言,显示。
<%@ codepage=936%> charset=GB2312 或
<%@ codepage=950%> charset=big5
大家可以猜一猜,我在write.asp里用微软拼音输入法输入“化六个讨论”。最后在read.asp里会显示什么样?
是不是晕了。让我们从头分析。

例二:
把例一的add.asp的<%@ codepage=936%>改为<%@ codepage=950%>,又会怎么样呢?
到这里发现了什么?
1.如果输入的文字和Charset对应的不同,一转换,就可能出现Unicode形式的字了。这里就是原因所在。以后整个过程都保留着。
2.Add.asp里codepage决定了保存到数据库的文字,用的是哪个语言对应的Unicode.如codepage=936,
那么数据库保存的就是简体中文的Unicode(数据库拿回简体中文系统,一切正常的),
codepage=950保存的就是繁体中文的Unicode.(拿回简体中文系统,就不对了)。
3.注意一下串串的变化过程:
--------------------------------------------------------------------
1) 输入法---Charset Unicode----指定字符集的映射
2) Charset----表单编码 串串简单编码
3) 表单解码 上步的逆过程,两步抵消了。
4) 串串à按codepage读取 串串没变,这步有可能“误会读取”
5) 转为对应的Unicode Codepage指定字符集----Unicode映射
6) 中间处理,进数据库 无变化,直接以Unicode形式进入 
8) 按codepage读取数据库 Unicode----codepage指定字符集的映射
9) 显示,按Charset指定字符集读取 串串没变。
-------------------------------------------------------------------------------
以例一说明:
797000024
例2
797000024
晕了。现在来用用知识。
797000024
案例1。
简体中文系统下跑的好好的代码,放到国外空间上,数据库里乱码,原有的数据也乱码。
分析:因为大多数人平时用的都是简体中文系统,默认的codepage=936,所以平时大家不写也没有关系。
但到了国外空间问题就出来了。从数据库里的Unicode转换到英文编码去了,所以数据库原有的简体中文转换到英文后,按GB显示自然乱码。
如图,新输入的文字显示正常,但数据库里保存的是英文的Unicode的。
解决方法:全部加上<%@codepage=936即可%>。
全程只有简体中文与对应Unicode间的转换。

ASP+Access UTF-8 网页乱码问题解决办法

做网站公司,专业网站建设公司http://www.web258.cn  上联网络品牌网站制作供应商为你的企业全程策划

 
 
 
专业做网站公司上联网络提供各类网站建设,网页设计,网站制作服务及网络相关的企业邮箱,域名,服务器等产品
本文链接地址:http://www.web258.cn/fileshow.asp?id=1176

ASP+Access UTF-8 网页乱码问题解决办法的更多相关文章

  1. 【转】asp&period;net Cookie值中文乱码问题解决方法

    来源:脚本之家.百度空间.网易博客 http://www.jb51.net/article/34055.htm http://hi.baidu.com/honfei http://tianminqia ...

  2. openerp 7&period;0邮件接收中文附件乱码问题解决办法

    openerp 7.0邮件接收中文附件乱码问题解决办法: 修改文件\addons\mail\mail_thread.py #1064 line插入代码: h=email.Header.Header(n ...

  3. 关于jFinal开发中遇到的中文乱码问题解决办法

    关于jFinal开发中遇到的中文乱码问题解决办法 设置tomcat的编码,修改 <Connector port="8080" protocol="HTTP/1.1& ...

  4. zabbix图形乱码问题解决办法

    zabbix中的图形乱码的问题解决办法: 1.下载字体,例如:simkai.ttf楷体(注:在windows中的字体格式可能是TTC的,所以去网上下载一个ttf的字体) 2.上传到linux中(我使用 ...

  5. Servlet中文乱码问题解决办法

    首先对于源jsp网站和servlet里面的字符集要一样,一般支持中文的字符集为UTF-8最好采用这个字符集(除此之外还有gb2312); 对于源jsp文件的代码中需要设置 设置你的page里面的字符集 ...

  6. PuTTY乱码问题解决办法

    原文链接:http://www.henshiyong.com/archives/403.html 使用PuTTY 时,遇到了乱码问题,查看了别人介绍的信息,解决掉了. 方法其实很简单,现在分享出来. ...

  7. C&num; asp&period;net页面通过URL参数传值中文乱码问题解决办法

    1.编码string state=Server.UrlEncode(stateName.Text.Trim());Response.Redirect("aaa.aspx?state=&quo ...

  8. loadrunner乱码问题解决办法

    7.LoadRunner回放脚本时,在浏览器显示的中文是乱码 最近,遇到了好多乱码的问题,解决了一些,还有最后一个乱码,能想到的各种办法都试过了,还是不行,很奇怪啊. 解决这些乱码时,涉及到了http ...

  9. IntelliJ IDEA 中文乱码问题解决办法

    自己最近在使用IntelliJ IDEA,发现总是出现中文乱码的问题,在网上找了很多教程,发现真是“天下文章一大抄”.还不如自己动手试着解决一下. 1.编辑器以及调试信息中文乱码问题 解决方案: 选择 ...

随机推荐

  1. javax&period;el&period;PropertyNotFoundException&colon; Property &&num;39&semi;name&&num;39&semi; not found on type java&period;lang&period;String

    javax.el.PropertyNotFoundException: Property 'name' not found on type java.lang.String javax.el.Bean ...

  2. CSS &plus; DIV 让页脚始终保持在页面底部

    来源:David's Blog     http://www.DavidQiu.com/ 文章链接:http://blog.davidqiu.com/post/2013-06-17/400517539 ...

  3. tmux 快捷键

    ctrl+b , 修改窗口名称 ctrl+b ' 快速按名字切换窗口 ctrl+b w 列出窗口列表 Ctrl+b 激活控制台:此时以下按键生效 系统操作 ? 列出所有快捷键:按q返回 d 脱离当前会 ...

  4. sql常识- UNIQUE

    SQL UNIQUE 约束 UNIQUE 约束唯一标识数据库表中的每条记录. UNIQUE 和 PRIMARY KEY 约束均为列或列集合提供了唯一性的保证. PRIMARY KEY 拥有自动定义的 ...

  5. docker初步

    [Note,]由于docker的局限性,docker只能运行在64位的系统中 docker软件应用程序可以重复地运行在任何地方,因为它的容器包含了所有的环境依赖关系! docker有三种方式运行 作为 ...

  6. 关于用exec来执行存储过程中,参数带有引号的解决方法

    比如:exec 存储过程名 要带有引号的参数 这样写的时候是传不进引号的,可以选定一种字符来表示引号,在存储过程中再进行转换: @test=replace(replace(@test,char(39) ...

  7. shapeless官方指南翻译写在前面

    目录 前言 Shapeless简介 The Type Astronaut's Guide to Shapeless简介 总结 一.前言        在我的2016,感恩.乐观.努力一文中,说2017 ...

  8. pyqt样式表语法笔记&lpar;中&rpar;

    pyqt样式表语法笔记(中) pyqt QSS python 样式表 一.弹窗 在日常的各种桌面软件的使用中,我们都会碰到弹窗.例如注册,登录的时候,会有相应的信息弹窗,这里就以信息收集弹窗为例进行弹 ...

  9. maven的web项目和shiro集成的问题

    在自定义shiro然后在加入spring的配置文件时,启动tomcat的时候一直报错 原因:刚学,对maven的依赖构建属性不熟悉 只是完成了maven父项目和子项目的依赖关系,并没有配置子项目之间的 ...

  10. java 创建简单工厂模式

    1.抽象类 package com.zpark.service; /** * 定义一个环境接口,所有省治理环境的方式都实现这个接口,并重写治理环境的方法 * @author tong * */ pub ...