Response.Charset="utf-8"与Response.Charset="gb2312"

Response.Charset="utf-8"与Response.Charset="gb2312"

最简单的一个就是utf-8编码,基本上只要是操作系统都支持这种编码,而只有支持中文的操作系统才可能存在gbk或gb2312编码,至于有什么不同,那很简单。

  例如:“朋友春节快乐”这几个字,如果页面编码是utf-8的话,那么几乎在任何操作系统下都能正确显示“朋友春节快乐”这几个字符,这样客户即使不认识这几个字符,也可以照样复制粘贴发给别人帮助翻译。

  但如果是gb2312编码那就不一样了,如果客户的操作系统不支持中文,例如是日文或英文的操作系统,那么“朋友春节快乐”这几个字这个时候就会由于客户机并无gb2312编码而无法正确显示。最终显示的是乱码。

  有时gb2312在英文操作系统上不能显示,会出现乱码,只要在访问UTF-8网站,如果中文是乱码,会弹出来个窗口,点是,自动下载,刷新后就能显示中文了,访问GB2312的动网也没问题。这个弹出来的,估计跟大家装完系统第一次上网弹出来个flash播放控件是一样的道理。不过还是推荐在面向世界的网站使用UTF-8格式,向动网官方,只给中国人看的就没必要用UTF-8了。

  但是如果用光盘安装一个非中文的系统,在安装时选上“东亚文字”支持,或者编码里去掉所有的GB相关的编码,装好后把光盘拿走,然后去浏览GB码的网站就不很有可能出现乱码了。这就跟Flash插件一样,一般情况下,只要不是番茄花园、龙族什么的修改过的系统,默认安装的都是不能显示Flash需要下载那个控件的,包括上海政府版!

  如果一个系统,中国人看,外国人也看的话,建议用UTF-8。

================================================================

我是asp, 前几天也是这个问题 (ajax返回的中文字符为乱码。)
解决办法是
<%Response.Charset="GB2312" %>
网上资料都说是要uft-8,我现在用gb2312,gbk都正常

将<%Response.Charset="GB2312" %>  放置在异步调用的asp页面的顶部即可。

---------------------------------------------------------------------------------------------------------------------

get或者post的时候,js里面用escape,asp里面用unescape(request.....)

### 设置 `-Dfile.encoding=UTF-8`,某些情况下依然可能出现乱码问题。这通常是因为多个因素共同作用的结果。 #### 1. JVM 参数配置不一致 确保所有的 JVM 实例都正确设置了 `file.encoding` 属性。如果应用程序运行在一个集群环境中,则需要确认每一台服务器上的 Tomcat 或其他应用容器均包含了该参数设置[^2]。 ```bash CATALINA_OPTS="-Dfile.encoding=UTF-8" ``` #### 2. 文件读取写入时未指定编码方式 当通过 Java IO 流操作文件时,如果没有显式指明使用的字符集,可能会导致实际采用的操作系统默认编码而非预期的 UTF-8 编码。应始终在创建流对象时声明所需的编码格式: ```java BufferedReader reader = new BufferedReader(new InputStreamReader( new FileInputStream("example.txt"), "UTF-8")); PrintWriter writer = new PrintWriter(new OutputStreamWriter( new FileOutputStream("output.txt"), StandardCharsets.UTF_8)); ``` #### 3. 数据库连接字符串缺少编码设定 对于数据库交互部分,也需要检查 JDBC URL 是否含有正确的字符集定义。例如 MySQL 可能会像下面这样来配置: ```properties jdbc:mysql://localhost:3306/mydb?useUnicode=true&characterEncoding=UTF-8 ``` #### 4. Web 应用响应头缺失 Content-Type 声明 Web 页面返回给浏览器的内容应当携带合适的 HTTP 头信息表明其 MIME 类型及所使用的字符集。可以在 Servlet 中这样做: ```java response.setContentType("text/html;charset=UTF-8"); ``` #### 5. 开发工具内部编码设置不当 IDE 如 Eclipse 或者 IntelliJ IDEA 自身也有各自的文件编码选项,需保证项目级别乃至全局级别的文本文件编码均为 UTF-8[^1]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值