php iconv函数(php中编码转换问题)
本文目录
- php中编码转换问题
- PHP读取Access数据库 出乱码
- 为什么我的php不能用iconv()函数
- php iconv转换 部分字符出现乱码
- php判断字符串是否有繁体中文
- php 使用iconv函数将字符串从utf8转到gbk,怎么保留特殊字符串!
- php中怎么将GB18030转换为UTF-8编码
- php iconv函数有长度限制
php中编码转换问题
function uc2html($str) { $ret = ’ ’; for( $i=0; $i 《strlen($str)/2; $i++ ) { $charcode = ord($str); $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: 蜗牛***隐藏网址***@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 = "//"; preg_match_all($pa, $string, $t_string); if(count($t_string, $start, $sublen))."..."; return join(’’, array_slice($t_string, $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:www.00562.com
PHP读取Access数据库 出乱码
access的中文版默认是GBK格式的,是无法改变字符类型的,所以用php读取的时候会乱码。解决方法是:使用iconv转换一、使用 iconv函数制作一个转码的自定义从GBK转到UTF-8的函数,如以下代码:function enc($c){return iconv(’gbk’,’utf-8’,$c);}二、为了写入数据库的编码是符合数据库需要的,所以我们还要制作一个从UTF-8转向GBK的函数:function dec($c){return iconv(’utf-8’,’gb2312’,$c);}制作好了转码函数,接下就是正常使用了。在从数据库里面调数据显示在页面的时候使用enc()函数,从页面提交数据到数据库时使用dec()函数,这样就可以很好的解决PHP使用UTF-8编码,ACCESS使用系统默认编码的问题了。
为什么我的php不能用iconv()函数
如果是windows2000+php,你可以修改php.ini文件,将extension=php_iconv.dll前的";"去掉,同时你要copy你的原php安装文件下的iconv.dll到你的winnt/system32下(如果你的dll指向的是这个目录) 另外,我在linux环境下,用静态安装的方式,在configure时加多一项 --with-iconv就可以了,phpinfo看得到iconv的项。(Linux7.3+Apache4.06+php4.3.2)
php iconv转换 部分字符出现乱码
应该不是iconv的问题,你应该看看,你的字符输出的前后是否有别的html元素。把你的测试文件贴出来看看
php判断字符串是否有繁体中文
可以借用 iconv 函数,通过对给定字符串分别转换成简体代码集(GB2312)和 GBK 字符集,再进行两者的比较,如果一致则可以判断为简体,反之是繁体中文。
提供网上示例代码供参考:
$str = "这是繁体中文";$strGbk = iconv("UTF-8", "GBK//IGNORE", $str);$strGb2312 = iconv("UTF-8", "GB2312//IGNORE", $str);if ($strGbk == $strGb2312) { echo ’简体’;} else { echo ’繁体’;}
需要提示的:
某些字,中文简体和繁体是一样的字(但意思不一样),比如:繁体的乾(gan)净的“乾”和乾(qian)坤的“乾”字,都是“乾”字,但它在第一个词语里是繁体字,在第二个词语里是简体字。
php 使用iconv函数将字符串从utf8转到gbk,怎么保留特殊字符串!
其实utf-8编码下的m2是必须要全部换成㎡或者全部转中文标识,如平方米,立方米之类的;因为iconv是不支持特殊单位符号的转换成gb2312的,你可以试试其它的就知道了;
php中怎么将GB18030转换为UTF-8编码
可以使用iconv函数对编码进行转换,iconv("gb18030", "utf-8", "要转换的字符串");
iconv详细用法如下:
iconv — 字符串按要求的字符编码来转换
string iconv ( string $in_charset, string $out_charset, string $str)
将字符串 str 从 in_charset 转换编码到 out_charset。
参数:
in_charset:输入的字符集。
out_charset:输出的字符集。
如果在 out_charset 后添加了字符串 //TRANSLIT,将启用转写(transliteration)功能。
这个意思是,当一个字符不能被目标字符集所表示时,它可以通过一个或多个形似的字符来近似表达。
如果添加了字符串 //IGNORE,不能以目标字符集表达的字符将被默默丢弃。
否则,str 从第一个无效字符开始截断并导致一个 E_NOTICE。
str:要转换的字符串。
返回值:
返回转换后的字符串, 或者在失败时返回 FALSE。
php iconv函数有长度限制
If you append the string //TRANSLIT to out_charset transliteration is activated. This means that when a character can’t be represented in the target charset, it can be approximated through one or several similarly looking characters. If you append the string //IGNORE, characters that cannot be represented in the target charset are silently discarded. Otherwise, str is cut from the first illegal character. 例子 1. iconv() example:《?phpecho iconv("ISO-8859-1", "UTF-8", "This is a test.");?》
更多文章:
encyclopedia(encyclopedia是什么意思)
2024年6月21日 18:07
新萝卜家园系统官网(哪个萝卜家园系统官网比较有权威啊,我怎么一直找都找不到)
2024年7月19日 04:53
鸿业负荷计算(各位高手,我想用鸿业负荷计算6.2的建模,求流程~)
2024年6月13日 19:40
拼网速命令是什么来的?交换机连接网络,刚开始网络能正常连接,几分钟后就自动断网,拼网又是通的,这是怎么回事
2024年5月13日 10:25
paperpass检测报告(paperpass怎么用 paperpass的步骤)
2024年6月10日 07:03