欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【php实现gb2312和unicode间编码转换】,下面是详细的分享!
php实现gb2312和unicode间编码转换
gb2312 和 unicode 间的编码转换
下面的例子是将 gb2312 转换为 "全"这种形式
php4.3.1以后的iconv函数很好用的,只是需要自己写一个uft8到unicode的转换函数
查表(gb2312.txt)也行。
| <? $text="电子书库"; preg_match_all("/[\x80-\xff]?./",$text,$ar); foreach($ar[0] as $v) echo "".utf8_unicode(iconv("GB2312","UTF-8",$v)).";"; ?> <? // utf8 -> unicode function utf8_unicode($c) { switch(strlen($c)) { case 1: return ord($c); case 2: $n=(ord($c[0]) & 0x3f) << 6; $n +=ord($c[1]) & 0x3f; return $n; case 3: $n=(ord($c[0]) & 0x1f) << 12; $n +=(ord($c[1]) & 0x3f) << 6; $n +=ord($c[2]) & 0x3f; return $n; case 4: $n=(ord($c[0]) & 0x0f) << 18; $n +=(ord($c[1]) & 0x3f) << 12; $n +=(ord($c[2]) & 0x3f) << 6; $n +=ord($c[3]) & 0x3f; return $n; } } ?> |
下面的例子是利用php将"全"这中编码转换为gb2312.
|
<?php eval($str); function u2utf82gb($c){ |
或者是
|
function unescape($str) { $str="TTL全天候自动聚焦"; |
<style> <script language="JavaScript1.2"> function Str2Unicode(str){ function Unicode2oStr(str){ function modi_str(){
BODY {
FONT-SIZE: 9pt; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; PADDING-TOP: 0px;
}
input {
FONT-SIZE: 9pt; height: 13pt;
}
</style>
var arr=new Array();
for(var i=0;i<str.length;i++){
arr[i]="" + str.charCodeAt(i) + ";";
}
return(arr.toString().replace(/,/g,""));
}
var re=/[\da-fA-F]{1,5};/ig;
var arr=str.match(re);
if(arr==null)return("");
for(var i=0;i<arr.length;i++){
arr[i]=String.fromCharCode(arr[i].replace(/[]/g,""));
}
return(arr.toString().replace(/,/g,""))
}
if(document.all.text.method.checked){
if(document.all.text.decode.value!=""){
document.all.text.encode.value=Str2Unicode(document.all.text.decode.value);
}else{
document.all.text.decode.value=Unicode2oStr(document.all.text.encode.value);
}
}else{
if(document.all.text.encode.value!=""){
document.all.text.decode.value=Unicode2oStr(document.all.text.encode.value);
}else{
document.all.text.encode.value=Str2Unicode(document.all.text.decode.value);
}
}
}
</script>
<title>Unicode</title>
<form name=text>
文本原型:<br>
<textarea name="decode" cols="100" rows="10"></textarea>
<br>
转换代码:<br>
<textarea name="encode" cols="100" rows="10"></textarea>
<br>
<input type="checkbox" name="method" checked> 正向转换
<input type=button value=" 确 定 ">
<input type=reset value=" 清 空 ">
<input type=button value=" 全 选 ">
</form>
下面是一个显示所有全角半角的字体的查看例子
| 以下为引用的内容: <style> BODY { FONT-SIZE: 9pt; PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; PADDING-TOP: 0px; } input { FONT-SIZE: 9pt; height: 13pt; } </style> <script> function showUni(min,max){ show.document.open(); show.document.writeln("<style>body{font-size:9pt;word-break:break-all;}</style>"); show.document.writeln(min + " - " + max + "<br><br>"); var i=0; for(i=min;i<=max;i++){ show.document.write("" + i + ";"); } show.document.close(); } </script> <input type=button value="半角" onclick=showUni(32,126)> <input type=button value="全角" onclick=showUni(65281,65374)> <input type=button value="中文1" onclick=showUni(19968,40869)> <input type=button value="中文2" onclick=showUni(63744,64045)> <input type=button value="日文平" onclick=showUni(12353,12435)> <input type=button value="日文片" onclick=showUni(12449,12534)> <input type=button value="韩文" onclick=showUni(44032,55203)> <br>自定义:<input name=min> - <input name=max> <input type=button value="察看" onclick=showUni(parseInt(document.all.min.value),parseInt(document.all.max.value))> <br> <iframe src=http://www.chinaz.com/program/2008/0523/"about:blank" id=show width=100% height=70% scroll=no></iframe> |
|
<? $utf8=""; function u2utf8($c){ ?> |
以上所分享的是关于php实现gb2312和unicode间编码转换,下面是编辑为你推荐的有价值的用户互动:
相关问题:求utf8与gb2312字符编码互转的php代码
答:function autoCharset($string, $from='gbk', $to='utf-8') { $from = strtoupper($from) == 'UTF8' ? 'utf-8' : $from; $to = strtoupper($to) == 'UTF8' ? 'utf-8' : $to; if (strtoupper($from) === strtoupper($to) || empty($string) || (i... >>详细
相关问题:php gb2312转换UTF-8编码
答: 规定好,页面编码后,页面编码就是统一不会再改变。 iconv 、mb_convert_encoding 这些函数改变的只是传入那一个字符串的编码。 而不是页面编码,别搞混了。 header("Content-Type:text/html; charset=GB2312"); 才是规定页面编码的代码。 >>详细
相关问题:PHP 如何取得汉字的Unicode编码 且相互转换
答:sybase_connect 连上数据库。 语法: int sybase_connect(string [servername], string [username], string [password]); 返回值: 整数 函数种类: 数据库功能 本函数用来打开与 Sybase 数据库的连接。参数 servername 为欲连上的数据库服务器名称... >>详细
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
