php4编码转换,php字符串编码转换

本文目录一览:

php中编码转换问题

function uc2html($str) {

$ret = ‘ ‘;

for( $i=0; $i strlen($str)/2; $i++ ) {

$charcode = ord($str[$i*2])+256*ord($str[$i*2+1]);

$ret .= iconv( “utf-8 “, “gb2312 “,u2utf8($charcode));

}

return $ret;

}

function u2utf8($c) {

$str= ” “;

if ($c 0x80) {

$str.=$c;

} else if ($c 0x800) {

$str.=chr(0xC0 | $c 6);

$str.=chr(0x80 | $c 0x3F);

} else if ($c 0x10000) {

$str.=chr(0xE0 | $c 12);

$str.=chr(0x80 | $c 6 0x3F);

$str.=chr(0x80 | $c 0x3F);

} else if ($c 0x200000) {

$str.=chr(0xF0 | $c 18);

$str.=chr(0x80 | $c 12 0x3F);

$str.=chr(0x80 | $c 6 0x3F);

$str.=chr(0x80 | $c 0x3F);

}

return $str;

}

如果你不是smarty的话 试试这个 如果是smarty的话 用下面的方法

?php

/*

@Author: 蜗牛

@Blog:

@Note: 这个解决办法是基于上面那个地址提到的方法,解决了中英文截取长度时出现乱码的问题

*/

function smarty_modifier_truncate($string, $sublen = 80, $etc = ‘…’, $break_words = false, $middle = false)

{

$start=0;

$code=”UTF-8″;

if($code == ‘UTF-8’)

{

//如果有中文则减去中文的个数

$cncount=cncount($string);

if($cncount($sublen/2))

{

$sublen=ceil($sublen/2);

}

else

{

$sublen=$sublen-$cncount;

}

$pa = “/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|\xe0[\xa0-\xbf][\x80-\xbf]|[\xe1-\xef][\x80-\xbf][\x80-\xbf]|\xf0[\x90-\xbf][\x80-\xbf][\x80-\xbf]|[\xf1-\xf7][\x80-\xbf][\x80-\xbf][\x80-\xbf]/”;

preg_match_all($pa, $string, $t_string);

if(count($t_string[0]) – $start $sublen) return join(”, array_slice($t_string[0], $start, $sublen)).”…”;

return join(”, array_slice($t_string[0], $start, $sublen));

}

else

{

$start = $start*2;

$sublen = $sublen*2;

$strlen = strlen($string);

$tmpstr = ”;

for($i=0; $i$strlen; $i++)

{

if($i=$start $i($start+$sublen))

{

if(ord(substr($string, $i, 1))129)

{

$tmpstr.= substr($string, $i, 2);

}

else

{

$tmpstr.= substr($string, $i, 1);

}

}

if(ord(substr($string, $i, 1))129) $i++;

}

if(strlen($tmpstr)$strlen ) $tmpstr.= “…”;

return $tmpstr;

}

}

function cncount($str)

{

$len=strlen($str);

$cncount=0;

for($i=0;$i$len;$i++)

{

$temp_str=substr($str,$i,1);

if(ord($temp_str) 127)

{

$cncount++;

}

}

return ceil($cncount/3);

}

?

是可以的以上两种方法 site:

PHP4 URL编码解码

你的javascript把中文转成了unicon模式,并不是普通的ASCII模式,所以一个编码变成了4个字符,除去%

其实URL编码就是 %20 = 空格 而20的16进制代码里指示的是计算机里的空格符号.

说白点,去掉%符号,其实就是16进制代码.

你的%后面都是u,证明你字符编码模式并非标准的ASCII

建议在js里做一下转换,或者网页转换成ASCII模式即可

PHP UNICODE 编码转换

Unicode是一个字符集,Unicode是定长的都为双字节.

这里我们常用的是utf8字符集编码,楼主是说的Unicode转换为UTF-8吧。

/**

* Unicode字符转换成utf8字符

* @param [type] $unicode_str Unicode字符

* @return [type] Utf-8字符

*/

function unicode_to_utf8($unicode_str) {

$utf8_str = ”;

$code = intval(hexdec($unicode_str));

//这里注意转换出来的code一定得是整形,这样才会正确的按位操作

$ord_1 = decbin(0xe0 | ($code 12));

$ord_2 = decbin(0x80 | (($code 6) 0x3f));

$ord_3 = decbin(0x80 | ($code 0x3f));

$utf8_str = chr(bindec($ord_1)) . chr(bindec($ord_2)) . chr(bindec($ord_3));

return $utf8_str;

}

php 编码转换

URLEncode:是指针对网页url中的中文字符的一种编码转化方式,最常见的就是Baidu、Google等搜索引擎中输入中文查询时候,生成经过Encode过的网页URL。

URLEncode的方式一般有两种,一种是传统的基于GB2312的Encode(Baidu、Yisou等使用),另一种是基于UTF-8的Encode(Google、Yahoo等使用)。

本工具分别实现两种方式的Encode与Decode:

中文

GB2312的Encode

%D6%D0%CE%C4

中文

UTF-8的Encode

%E4%B8%AD%E6%96%87

我们可以用以下代码实现转换:

?php

echo

urlencode(‘测试’);?

如果是gb2312编码,转换的结果为”%B2%E2%CA%D4″;

如果是utf-8编码,转换的结果为”%E6%B5%8B%E8%AF%95″;

希望我的回答你能满意啊!呵呵!

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/254201.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-14 17:41
下一篇 2024-12-14 17:41

相关推荐

  • Python字符串宽度不限制怎么打代码

    本文将为大家详细介绍Python字符串宽度不限制时如何打代码的几个方面。 一、保持代码风格的统一 在Python字符串宽度不限制的情况下,我们可以写出很长很长的一行代码。但是,为了…

    编程 2025-04-29
  • PHP和Python哪个好找工作?

    PHP和Python都是非常流行的编程语言,它们被广泛应用于不同领域的开发中。但是,在考虑择业方向的时候,很多人都会有一个问题:PHP和Python哪个好找工作?这篇文章将从多个方…

    编程 2025-04-29
  • Python中将字符串转化为浮点数

    本文将介绍在Python中将字符串转化为浮点数的常用方法。在介绍方法之前,我们先来思考一下这个问题应该如何解决。 一、eval函数 在Python中,最简单、最常用的将字符串转化为…

    编程 2025-04-29
  • Java判断字符串是否存在多个

    本文将从以下几个方面详细阐述如何使用Java判断一个字符串中是否存在多个指定字符: 一、字符串遍历 字符串是Java编程中非常重要的一种数据类型。要判断字符串中是否存在多个指定字符…

    编程 2025-04-29
  • Python学习笔记:去除字符串最后一个字符的方法

    本文将从多个方面详细阐述如何通过Python去除字符串最后一个字符,包括使用切片、pop()、删除、替换等方法来实现。 一、字符串切片 在Python中,可以通过字符串切片的方式来…

    编程 2025-04-29
  • PHP怎么接币

    想要在自己的网站或应用中接受比特币等加密货币的支付,就需要对该加密货币拥有一定的了解,并使用对应的API进行开发。本文将从多个方面详细阐述如何使用PHP接受加密货币的支付。 一、环…

    编程 2025-04-29
  • Python如何将字符串1234变成数字1234

    Python作为一种广泛使用的编程语言,对于数字和字符串的处理提供了很多便捷的方式。如何将字符串“1234”转化成数字“1234”呢?下面将从多个方面详细阐述Python如何将字符…

    编程 2025-04-29
  • Python int转二进制字符串

    本文将从以下几个方面对Python中将int类型转换为二进制字符串进行详细阐述: 一、int类型和二进制字符串的定义 在Python中,int类型表示整数,二进制字符串则是由0和1…

    编程 2025-04-29
  • 用title和capitalize美观处理Python字符串

    在Python中,字符串是最常用的数据类型之一。对字符串的美观处理是我们在实际开发中经常需要的任务之一。Python内置了一些方法,如title和capitalize,可以帮助我们…

    编程 2025-04-28
  • Python 提取字符串中的电话号码

    Python 是一种高级的、面向对象的编程语言,它具有简单易学、开发迅速、代码简洁等特点,广泛应用于 Web 开发、数据科学、人工智能等领域。在 Python 中,提取字符串中的电…

    编程 2025-04-28

发表回复

登录后才能评论