`
libg
  • 浏览: 57795 次
  • 性别: Icon_minigender_1
  • 来自: 河北邯郸
社区版块
存档分类
最新评论

jsp中GBK和UTF8编码处理

阅读更多


原创链接:http://www.qudong.com/soft/program/php/jiqiaoyunyong/20080326/4464.html


一、编码范围

1. GBK (GB2312/GB18030)

\x00-\xff GBK双字节编码范围

\x20-\x7f ASCII

\xa1-\xff 中文

\x80-\xff 中文

2. UTF-8 (Unicode)

\u4e00-\u9fa5 (中文)

\x3130-\x318F (韩文

\xAC00-\xD7A3 (韩文)

\u0800-\u4e00 (日文)

ps: 韩文是大于[\u9fa5]的字符



正则例子:

PLAIN TEXT

PHP
:

preg_replace("/([\x80-\xff])/","",$str);

preg_replace("/([u4e00-u9fa5])/","",$str);

二、代码例子

PLAIN TEXT

PHP:

//判断内容里有没有中文-GBK (PHP)

function check_is_chinese($s){

return preg_match('/[\x80-\xff]./', $s);

}



//获取字符串长度-GBK (PHP)

function gb_strlen($str){

$count = 0;

for($i=0; $i 127) {

$count++;

if($value>= 192 && $value <= 223) $i++;

elseif($value>= 224 && $value <= 239) $i = $i + 2;

elseif($value>= 240 && $value <= 247) $i = $i + 3;

else die('Not a UTF-8 compatible string');

}

$count++;

}

return $count;

}





//截取字符串-UTF8(PHP)

function utf8_substr($str,$position,$length){

$start_position = strlen($str);

$start_byte = 0;

$end_position = strlen($str);

$count = 0;

for($i = 0; $i = $position && $start_position> $i){

$start_position = $i;

$start_byte = $count;

}

if(($count-$start_byte)>=$length) {

$end_position = $i;

break;

}

$value = ord($str[$i]);

if($value> 127){

$count++;

if($value>= 192 && $value <= 223) $i++;

elseif($value>= 224 && $value <= 239) $i = $i + 2;

elseif($value>= 240 && $value <= 247) $i = $i + 3;

else die('Not a UTF-8 compatible string');

}

$count++;



}

return(substr($str,$start_position,$end_position-$start_position));

}





//字符串长度统计-UTF8 [中文3个字节,俄文、韩文占2个字节,字母
占1个字节] (Ruby)

def utf8_string_length(str)

temp = CGI
::unescape(str)

i = 0;

j = 0;

temp.length.times{|t|

if temp[t] = 127 and temp[t] JavaScript
)

function checkKoreaChar(str) {

for(i=0; i
0x3130 && str.charCodeAt(i) = 0xAC00 && str.charCodeAt(i) <=
0xD7A3))) {

return true;

}

}

return false;

}

//判断是否有中文字符-GBK (javascript)

function check_chinese_char(s){

return (s.length != s.replace(/[^\x00-\xff]/g,"**").length);

}

 

 

 

 

 

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

我的例子:

function lmtest2()
            {
                /**
                [^a-zA-Z0-9,\-\u4e00-\u9fa5]   --- 保留了数字,字母 utf-8 格式下的汉字

                ^a-zA-Z0-9,\-  代表 数字、字母、下划线

                \u4e00-\u9fa5  代表utf-8 格式下的汉字
                */
                var reg = /[^a-zA-Z0-9,\-\u4e00-\u9fa5]/g;
                //var str = "h?蒚Indexh?蒚 Terms—Drain section, pseudo-2-D, SOI MOSFET model.h?蒚";
                var str = "aa啊!a蒚h";
                alert(str.replace(reg,""));
                alert(reg.test(str));//返回true 说明 以上字符串中包含了 乱码字符(不同编码的字符\不符合本站本页的编码字符)
            }

 


 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    jsp文件编码转换工具(utf-8到GBK或相反)

    一个可以方便的将UTF-8编码的jsp文件自动转换成GBK编码的小工具或相反转换,可以保持目录结构不变。 使用说明在压缩包内。

    字符集处理方案 GBK UTF-8

    GBK用在jsp(html)页面中,限定了输出字符集编码格式,输出到客户端的字节流的字符集编码格式为GBK。即浏览器能够正确显示内容所采用的字符集编码格式必须为GBK。这一点在; charset=gbk"%&gt;中声明。所有jsp页面或是...

    jspSmartUpload.jar

    (因为该组件内部使用GBK编码,所以如果使用utf-8的话,反而从表单中会获取中文乱码)切记,同时前台jsp页面中也要做如下处理, *" pageEncoding="UTF-8"%&gt; ; charset=GBK"%&gt; 这里为什么使用了两个编码格式呢?因为...

    JSP-常用编码转换工具

    在做J2EE时,经常需要将静态网页转换成jsp,但下载下来的htm或htm文件本身是UTF8和unicode,直接改成jsp会变成乱码,在MyEclipse中修改也不成,颇费劲。这个代码程序就是用来读取某种编码格式的html或txt文件并将它...

    JspSmartUpload自定义编码终版

    nanquan发布的仍然没有对文件的名称进行自定义编码: 解决了上传文件时,文件&表单其他元素取值的中文乱码问题(将GBK转UTF-8是奇数中文出现??),内附说明

    JspRun6.0源码.rar

    基于java语言开发的论坛,两种编码的JspRun源码 JspRun!_6.0.0_Source_GBK JspRun!_6.0.0_Source_UTF-8

    myEclipse乱码解决办法

    例如:在以上设置中,设置jsp默认编码格式为“UTF-8”,那么以后新建的jsp文件,都是以“UTF-8”的格式保存的。 同样设置java默认编码格式为“UTF-8”,那么以后新建的java文件,都是以“UTF-8”的格式保存的。 设置...

    jsp上传组件smartUpload_auto_jar包

    jsp上传组件smartUpload_auto_jar包,解决任意思中文编码的乱码问题,在调用该组件的地方设置一下编码与页面的编码格式一致即,支持gb2312,gbk,utf-8等中文编码格式,从而可以解决多个编码方式造成的上传乱码

    eclipse 编码转换插件

    假设你的同事做好了一个项目,为了更好的支持国际化,里面的jsp页面都采用UTF-8,然后发给你,你导入到Eclipse的workspace中,一般情况下,在Eclipse中,这些jsp都变成了GBK编码,你双击打开,一堆乱码。假设你知道...

    修改过的jspsmart包

    可支持多种编码格式,设置如下 SmartUpload su=new SmartUpload(); su.setCharset("GBK"); 默认编码格式是UTF-8

    ajax乱码解决汇总

    RESPONSETEXT里面的中文多半会出现乱码,这是因为xmlhttp在处理返回的responseText的时候,是把 resposeBody按UTF-8编码进解码考形成的,如果服务器送出的确实是UTF-8的数据流的时候汉字会正确显示,而送出了GBK编码...

    jspsmartupload上传下载,已修改过源代码!

    //我将文件名getBytes()下,将GBK改成UTF-8。测试了下,貌似没问题, //突然有一次上传一文件时,发现最后几个字乱码,一直是??。在拿些文件测试, // 后来知道了是当文件名为中文奇数时,会乱码,而且还上传不了。...

    PhpSou搜索引擎 v1.1 GBK体验版 (整合sphinx)

    自动识别GB2312、BIG5、UTF-8、Unicode等网页编码; 文件类型证察防止非文本类型文件采集; 蜘蛛可以采集ASP、PHP、JSP等动态数据网页和HTML、SHTML、XHTML等静态网页; 整合sphinx,实现千万级别搜索。重新整理程序...

    网监王WJW110 专业级网站不良信息过滤系统

    新一代智能双向高速过滤系统,网监王WJW110运行在IIS高效的内核层,采用独有的高速过滤算法,可保证在不影响网站运行效率的前提下实现不良... 支持对ASCII、GBK和UTF8等网页编码的过滤。 6. 详尽的日志功能让你清楚了

    eclipse乱码+开源转码插件+批量操作

    问题描述:我们项目开发都统一采用utf-8格式编码,但昨天研发部的一个产品要集成进来,他们是用gbk编码的,如果强行将文件设置成utf-8肯定不行,中文全乱了。在jsp里面用 ctrl+H 进行搜索替换也不行,中文也是显示不...

    WEB渗透测试数据库

    utf8 gbk gb2312 big5 utf16 utf7 等所有python支持的编码方式,具体请参考如下链接: python支持的编解码格式 例如: pen.py encode -t unicode "aaa=你好" pen.py encode -t url-all -m gbk "id=你好" pen.py...

    基于JBPM工作流的OA办公系统.zip

    2、导入系统后请将系统编码设置为UTF-8,不是GBK。SQL导入也是UTF8编码。 3、导入后如果出现感叹号,请修改实际的Java Build Path。 4、开发环境任何地方不要包含非英文数字路径。 ----------------------------...

    MF00328-企业级Java快速开发框架源码.zip

    2、导入系统后请将系统编码设置为UTF-8,不是GBK。SQL导入也是UTF8编码。 3、导入后如果出现感叹号,请修改实际的Java Build Path。 4、登录页面:4.1、Hibernate版本访问地址:...

    深入浅出Hibernate源码

    假若在您的项目中,必须使用GBK编码,则在以上的各个地方,都需要把UTF-8更换为GBK方可正常使用。 版本更新 ----------- v1.2 (PLAN,TBD) * 转换到JTA * 给出一个脱离DAO模式的例子 * 给出for hibernate 3的...

    PhpSou搜索引擎 v1.2 build 1226 GBK

    自动识别GB2312、BIG5、UTF-8、Unicode等网页编码;文件类型证察防止非文本类型文件采集;蜘蛛可以采集ASP、PHP、JSP等动态数据网页和HTML、SHTML、XHTML等静态网页;支持续采功能,如果因系统、网络等故障问题终止...

Global site tag (gtag.js) - Google Analytics