• utf8编码用于asp 出现乱码的问题从数据库调用的是乱码gb2312转换utf8


    今天在用utf-8编码用在新的网站上,不想问题还真多,所以找了些文章,帖子,看了看,等下有用的就贴下面了。

    今天,我开始把 CODEPAGE="936" 改成 CODEPAGE="65001"

    把charset=gb2312改成 charset=utf-8

    可是还是乱码,只要是脚本用的地方还是乱码,现在终于找到问题了,就是当脚本输出时候,要以utf-8编码输出。

    就是要加一句<% Response.Charset = "utf-8" %>

    ①首先当然是页面本身用utf-8编码,在DW新建页时默认编码定为“Unicode(UTF-8)”

    <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001" %>

    ' ②CODEPAGE="65001" 告诉服务器页面使用UTF-8编码的

    <html>

    <head>

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">

    ' ③charset=utf-8告诉浏览器页面使用UTF-8编码的

    </head>

    <body>

    <% Response.Charset = "utf-8" %>

    ' ④服务器输出编码为utf-8

    </body>

    </html>

    晕,事情还没有结束

    刚开心,问题出来了,刷新后又变成乱码,或者浏览其他的gb2312的页面回来又乱码了。值得又去google了一下,呵呵,还是找到答案了

    看看下面的文字,就知道了,所有在后来我加了这个,程序顶端

    <%Session.CodePage=65001%>

    <%@ codepage=936%>简体中文

    <%@ codepage=950%>繁体中文

    <%@ codepage=65001%>UTF-8

    codepage指定了IIS按什么编码读取传递过来的串串(表单提交,地址栏传递等)。

    出乱码的原因也就是网站要整合的时候模块编码不一样引起的。

    不要转换任何模块网页的编码该utf-8的还是utf-8,该Gb22312的还是Gb2312

    于是我将GB2312模块的conn.asp文件中加入了以下这段代码

    <%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>

    <%Session.CodePage=936%>

    一切OK!

    同样在在Utf-8模块的包文件(如conn.asp,但是要注意conn.asp必须是在第一行调用)最前面加上

    <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>

    <%Session.CodePage=65001%>

     

    第二种解决方法:

    原因:如先打开GB2312页面,数据库按照GB2312读取数据库内容。而在此时您再打开UTF-8页面时,若页面没有设置编码,数据库会按照刚刚使用过的编码类型即GB2312读取数据库,这就造成了乱码。



    解决方法:

    在UTF8编码的页面顶部加上如下代码:

    <%
    response.codepage=65001
    response.charset="UTF-8"
    %>

    在GB2312编码的页面顶部加上如下代码:

    <%
    response.codepage=936
    response.charset="GB2312"
    %>

  • 相关阅读:
    ##日常代码中,我们需要配的几种数据源的配置文件
    ##Sping框架IOC中常用的注解大家一定要记住
    ##事务管理器工具类
    ##管理连接的工具类 用来实现连接 和线程的绑定
    ##处理转账事务的多线程问题,让其在一个线程处理账务的增加和减少
    学习笔记——spark安装配置
    学习笔记——spark基础实验二
    学习笔记——spark实验一
    课堂测试之数据清洗
    Mapreduce实例——WordCount
  • 原文地址:https://www.cnblogs.com/zlmlovem/p/1867717.html
Copyright © 2020-2023  润新知