php--转码函数

最近在用dedecms二次开发会员功能;大家都知道dedecms编码是GBK格式的;所以在我们在项目中经常需要转码,在我了解中有两种转码方式:一是:iconv;二是mb_convert_encoding;

下面介绍下两种转码方式的用法:

iconv:

iconv(“UTF-8″,”GB2312”,$string);将$string由utf-8编码转化为GBK格式

第一个参数:现在字符串的编码格式;

第二个参数:想要转化的编码格式;

第三个参数:想要转化的字符串;

mb_convert_encoding:

mb_convert_encoding($string, “UTF-8″, “GBK”);将$string由GBK转化为utf-8格式

{1.需要先enable mbstring 扩展库

2.mb_convert_encoding 可以指定多种输入编码,它会根据内容自动识别,但是执行效率比iconv差太多

}

第一个参数:想要转化的字符串;

第二个参数:想要转化的编码格式;

第三个参数:现在字符串的编码格式;

iconv 和 mb_convert_encoding 两个转码函数的区别:

其实我用刀这个转码函数主要是在会员信息导出excel格式时,当时我添加会员的时候转码存入数据库用的是iconv,但是在我导出excel时,我用iconv时,导出部分信息可能出现空白的,这样就算是一个bug,但是用mb_convert_encoding时则不会出现这样的情况,于是我想弄清楚这两个函数到底有什么区别我就去百度看了一下;

这是我在百度里面搜到是这样说的:

发现iconv在转换字符”—”到gb2312时会出错,如果没有ignore参数,所有该字符后面的字符串都无法被保存。不管怎么样,这个”—”都无法转换成功,无法输出。 另外mb_convert_encoding没有这个bug.
一般情况下用 iconv,只有当遇到无法确定原编码是何种编码,或者iconv转化后无法正常显示时才用mb_convert_encoding 函数.

所以大家在使用的时候要注意到自己想要转换换的编码格式具体是哪种,这样你才知道哪种是更好用的呀!

时间: 2025-01-19 23:24:04

php--转码函数的相关文章

Oracle 拼音码函数

拼音码 select comm.fun_spellcode('数据库') from dual 结果 : SJK 函数 1 CREATE OR REPLACE FUNCTION COMM.FUN_SPELLCODE(PRM_SPELL IN VARCHAR2) 2 RETURN VARCHAR2 3 IS 4 SPELLCODE VARCHAR2(20); 5 INSPELL VARCHAR2(1000); 6 V_BITCHAR VARCHAR2(2); 7 V_BITNUM INTEGER;

关于追踪qemu 源码函数路径的一个方法

这阵子一直在研究qemu 磁盘io路径的源码,发现直接看代码是意见非常低效率的事情,qemu是一个比较庞大的家伙(源码部分大概154MB,完全由C语言来完成),整个结构也都非常地复杂,所以从代码上研究qemu最好的办法只有debug之.不断地收集更多的debug信息去获取源码所蕴含的道理. 很多人第一反应可能就是使用一些类似与Eclipse, gdb 这一类强大的debugger,我当然也不例外,在经过一个上午究竟该使用Eclipse还是gdb的思想斗争的私人情绪之后,我才恍然明白,原来我两个工

php转码函数

<?php class Charset { //UTF-8 转GB编码 static public function utf82gb($utfstr) { if(function_exists('iconv')) { return iconv('utf-8','gbk//ignore',$utfstr); } global $UC2GBTABLE; $okstr = ""; if(trim($utfstr)=="") { return $utfstr; } i

通过相应的检索码函数自动生成检索码

***通过相应的检索码脚本自动生成 相应的检索码 -------------------------------------------------------- --将GY_YLSF 表的某些字段插入到gy_fybm表中. insert into gy_fybm select fyxh,PYDM,FYMC,1 from GY_YLSF 通过相应的检索码(拼音码,五笔码)脚本在数据库中运行,生成函数,然后调用函数来生成相应的检索码.语句如下: --将检索码(拼音码)的生成(长度<8位的,还有=8

使用linux 版vscode 查看linux内核源码函数跳转比较慢的问题

在使用 deepin  +  vscode 查看linux源码时,发现比较恶心的问题,跳转到指定函数特别慢,偶尔还跳转不过去,在vscode 中安装一个插件就好了 1. vscode 安装插件名:C/C++ GNU Global 2. 在deepin中安装一个软件:sudo apt install global 3. 在deepin终端中使用 which global 查看global的安装路径  /usr/bin/global 4. 将这个路径配置到vscode 中 "gnuGlobal.gl

Sql 获取字符串拼音码与五笔码函数

ALTER function [dbo].[Get_PYM](@str VARCHAR(200)) returns VARCHAR(200) as begin declare @strlen int,@re VARCHAR(200) declare @t table(chr nchar(1) collate Chinese_PRC_CI_AS,letter nchar(1)) insert into @t(chr,letter) select '吖','A' union all select '

php和js字符串的acsii码函数

javascript中有charCodeAt(),根据字符查找ascii码. String.fromCharCode(),根据ascii码查找对应的字符. console.log('A'.charCodeAt(0));// 65 console.log('z'.charCodeAt(0));// 122 console.log('中'.charCodeAt(0));// 20013 console.log( String.fromCharCode(97));// a php的函数表示, int

php 源码函数

在PHP中,函数分为俩种, 一种是zend_internal_function, 这种函数是由扩展或者Zend/PHP内核提供的,用’C/C++’编写的,可以直接执行的函数. 另外一种是zend_user_function, 这种函数呢,就是我们经常在见的,用户在PHP脚本中定义的函数,这种函数最终会被ZE翻译成opcode array来执行 查看zend_compile.h,我们可以找到如下的3个结构: typedef struct _zend_internal_function { /* C

JS-编码函数:escape(),encodeURI(),encodeURIComponent()

1.escape() escape()是js编码函数中最古老的一个.虽然这个函数现在已经不提倡使用了,但是由于历史原因,很多地方还在使用它,所以有必要先从它讲起. 实际上,escape()不能直接用于URL编码,它的真正作用是返回一个字符的Unicode编码值.比如"春节"的返回结果是%u6625%u8282,也就是说在Unicode字符集中,"春"是第6625个(十六进制)字符,"节"是第8282个(十六进制)字符. escape("