原创链接: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 说明 以上字符串中包含了 乱码字符(不同编码的字符\不符合本站本页的编码字符)
}
分享到:
相关推荐
一个可以方便的将UTF-8编码的jsp文件自动转换成GBK编码的小工具或相反转换,可以保持目录结构不变。 使用说明在压缩包内。
GBK用在jsp(html)页面中,限定了输出字符集编码格式,输出到客户端的字节流的字符集编码格式为GBK。即浏览器能够正确显示内容所采用的字符集编码格式必须为GBK。这一点在; charset=gbk"%>中声明。所有jsp页面或是...
(因为该组件内部使用GBK编码,所以如果使用utf-8的话,反而从表单中会获取中文乱码)切记,同时前台jsp页面中也要做如下处理, *" pageEncoding="UTF-8"%> ; charset=GBK"%> 这里为什么使用了两个编码格式呢?因为...
在做J2EE时,经常需要将静态网页转换成jsp,但下载下来的htm或htm文件本身是UTF8和unicode,直接改成jsp会变成乱码,在MyEclipse中修改也不成,颇费劲。这个代码程序就是用来读取某种编码格式的html或txt文件并将它...
nanquan发布的仍然没有对文件的名称进行自定义编码: 解决了上传文件时,文件&表单其他元素取值的中文乱码问题(将GBK转UTF-8是奇数中文出现??),内附说明
基于java语言开发的论坛,两种编码的JspRun源码 JspRun!_6.0.0_Source_GBK JspRun!_6.0.0_Source_UTF-8
例如:在以上设置中,设置jsp默认编码格式为“UTF-8”,那么以后新建的jsp文件,都是以“UTF-8”的格式保存的。 同样设置java默认编码格式为“UTF-8”,那么以后新建的java文件,都是以“UTF-8”的格式保存的。 设置...
jsp上传组件smartUpload_auto_jar包,解决任意思中文编码的乱码问题,在调用该组件的地方设置一下编码与页面的编码格式一致即,支持gb2312,gbk,utf-8等中文编码格式,从而可以解决多个编码方式造成的上传乱码
假设你的同事做好了一个项目,为了更好的支持国际化,里面的jsp页面都采用UTF-8,然后发给你,你导入到Eclipse的workspace中,一般情况下,在Eclipse中,这些jsp都变成了GBK编码,你双击打开,一堆乱码。假设你知道...
可支持多种编码格式,设置如下 SmartUpload su=new SmartUpload(); su.setCharset("GBK"); 默认编码格式是UTF-8
RESPONSETEXT里面的中文多半会出现乱码,这是因为xmlhttp在处理返回的responseText的时候,是把 resposeBody按UTF-8编码进解码考形成的,如果服务器送出的确实是UTF-8的数据流的时候汉字会正确显示,而送出了GBK编码...
//我将文件名getBytes()下,将GBK改成UTF-8。测试了下,貌似没问题, //突然有一次上传一文件时,发现最后几个字乱码,一直是??。在拿些文件测试, // 后来知道了是当文件名为中文奇数时,会乱码,而且还上传不了。...
自动识别GB2312、BIG5、UTF-8、Unicode等网页编码; 文件类型证察防止非文本类型文件采集; 蜘蛛可以采集ASP、PHP、JSP等动态数据网页和HTML、SHTML、XHTML等静态网页; 整合sphinx,实现千万级别搜索。重新整理程序...
新一代智能双向高速过滤系统,网监王WJW110运行在IIS高效的内核层,采用独有的高速过滤算法,可保证在不影响网站运行效率的前提下实现不良... 支持对ASCII、GBK和UTF8等网页编码的过滤。 6. 详尽的日志功能让你清楚了
问题描述:我们项目开发都统一采用utf-8格式编码,但昨天研发部的一个产品要集成进来,他们是用gbk编码的,如果强行将文件设置成utf-8肯定不行,中文全乱了。在jsp里面用 ctrl+H 进行搜索替换也不行,中文也是显示不...
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...
2、导入系统后请将系统编码设置为UTF-8,不是GBK。SQL导入也是UTF8编码。 3、导入后如果出现感叹号,请修改实际的Java Build Path。 4、开发环境任何地方不要包含非英文数字路径。 ----------------------------...
2、导入系统后请将系统编码设置为UTF-8,不是GBK。SQL导入也是UTF8编码。 3、导入后如果出现感叹号,请修改实际的Java Build Path。 4、登录页面:4.1、Hibernate版本访问地址:...
假若在您的项目中,必须使用GBK编码,则在以上的各个地方,都需要把UTF-8更换为GBK方可正常使用。 版本更新 ----------- v1.2 (PLAN,TBD) * 转换到JTA * 给出一个脱离DAO模式的例子 * 给出for hibernate 3的...
自动识别GB2312、BIG5、UTF-8、Unicode等网页编码;文件类型证察防止非文本类型文件采集;蜘蛛可以采集ASP、PHP、JSP等动态数据网页和HTML、SHTML、XHTML等静态网页;支持续采功能,如果因系统、网络等故障问题终止...