好得很程序员自学网
  • 首页
  • 后端语言
    • C#
    • PHP
    • Python
    • java
    • Golang
    • ASP.NET
  • 前端开发
    • Angular
    • react框架
    • LayUi开发
    • javascript
    • HTML与HTML5
    • CSS与CSS3
    • jQuery
    • Bootstrap
    • NodeJS
    • Vue与小程序技术
    • Photoshop
  • 数据库技术
    • MSSQL
    • MYSQL
    • Redis
    • MongoDB
    • Oracle
    • PostgreSQL
    • Sqlite
    • 数据库基础
    • 数据库排错
  • CMS系统
    • HDHCMS
    • WordPress
    • Dedecms
    • PhpCms
    • 帝国CMS
    • ThinkPHP
    • Discuz
    • ZBlog
    • ECSHOP
  • 高手进阶
    • Android技术
    • 正则表达式
    • 数据结构与算法
  • 系统运维
    • Windows
    • apache
    • 服务器排错
    • 网站安全
    • nginx
    • linux系统
    • MacOS
  • 学习教程
    • 前端脚本教程
    • HTML与CSS 教程
    • 脚本语言教程
    • 数据库教程
    • 应用系统教程
  • 新技术
  • 编程导航
    • 区块链
    • IT资讯
    • 设计灵感
    • 建站资源
    • 开发团队
    • 程序社区
    • 图标图库
    • 图形动效
    • IDE环境
    • 在线工具
    • 调试测试
    • Node开发
    • 游戏框架
    • CSS库
    • Jquery插件
    • Js插件
    • Web框架
    • 移动端框架
    • 模块管理
    • 开发社区
    • 在线课堂
    • 框架类库
    • 项目托管
    • 云服务

当前位置:首页>后端语言>PHP
<tfoot draggable='sEl'></tfoot>

字符串转码php 字符串转码utf8

很多站长朋友们都不太清楚字符串转码php,今天小编就来给大家整理字符串转码php,希望对各位有所帮助,具体内容如下:

本文目录一览: 1、 关于php中ANSII编码转码问题 2、 如何将phpinfo字符串类型转换 3、 php如何转码字符串,有啥区别 4、 PHP里怎么转码? 关于php中ANSII编码转码问题

我想你可能不是很熟悉html,你这个不是因为是使用了特殊的编码,而是因为将字符串转换成了html entity(html实体),在php里面使用htmlentities函数就可以出现你上文的结果。

这个时候不要用什么encoding去进行转换,没用的,使用html_entity_decode函数就可以了,不要搞的那么麻烦。

// 自己去掉符号后的空格

$str = ' #x4eca; #x4f55; #x5728; #x4f5c; #x54c1;';

echo $str, '<br />';

$str = html_entity_decode($str);

var_dump($str);

如何将phpinfo字符串类型转换

php中iconv、mb_convert_encoding函数字符编码转换详解如下:

iconv函数库能够完成各种字符集间的转换,是php编程中不可缺少的基础函数库。

用法如下:

$string = "亲爱的朋友欢迎访问博客,希望给您带来一点点的帮助!";

iconv("utf8","gbk",$string)//将字符串string  编码由utf8转变成gbk;

扩展如下:

echo [Math Processing Error]str=′好,欢迎访问博客,该博客记录一个程序员的成长过程!′;echo′<br/>′;echoiconv(′GB2312′,′UTF−8′,str); //将字符串的编码从GB2312转到UTF-8

echo '<br />';

echo iconv_substr([Math Processing Error]str,1,1,′UTF−8′);//按字符个数截取而非字节printr(iconvgetencoding());//得到当前页面编码信息echoiconvstrlen(str, 'UTF-8'); //得到设定编码的字符串长度

//也有这样用的

[Math Processing Error]content=iconv("UTF−8","gbk//TRANSLIT",content);

备注:

1、iconv不是php的默认函数,也是默认安装的模块。需要安装才能用的。

如果是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 介绍完毕

2、用iconv函数把抓取来过的utf-8编码的页面转成gb2312, 发现只有用iconv函数把抓取过来的数据一转码数据就会无缘无故的少一些。原因是这样的:

string iconv ( string in_charset, string out_charset, string str )

注意:第二个参数,除了可以指定要转化到的编码以外,还可以增加两个后缀://TRANSLIT 和 //IGNORE,其中 //TRANSLIT 会自动将不能直接转化的字符变成一个或多个近似的字符,//IGNORE 会忽略掉不能转化的字符,而默认效果是从第一个非法字符截断。 被截断了,当然就会少了;

可以这样修改iconv("UTF-8","GB2312//IGNORE",$string)  会忽略掉不能转化的字符;

附加:

PHP中的mb_convert_encoding与iconv函数介绍

mb_convert_encoding这个函数是用来转换编码的,和iconv函数差不多。

英文一般不会存在编码问题,只有中文数据才会有这个问题。比如用Zend Studio或Editplus写程序时,用的是gbk编码,如果数据需要入数据库,而数据库的编码为utf8时,这时就要把数据进行编码转换,不然进到数据库就会变成乱码。

做一个GBK To UTF-8

< ?php

header("content-Type: text/html; charset=Utf-8"); //设置字符的编码是utp-8

echo mb_convert_encoding("你系我的友仔", "UTF-8", "GBK");

?>

再做GB2312 To Big5

< ?php

header("content-Type: text/html; charset=big5");

echo mb_convert_encoding("朋友", "big5", "GB2312");

?>

不过要使用上面的函数需要安装但是需要先enable mbstring 扩展库,道理还是一样的,修改php.ini。

PHP中的另外一个函数iconv也是用来转换字符串编码的,与上函数功能相似。

下面还有一些详细的例子:

iconv — Convert string to requested character encoding

(PHP 4 >= 4.0.5, PHP 5)

mb_convert_encoding — Convert character encoding

(PHP 4 >= 4.0.6, PHP 5)

用法:

string mb_convert_encoding ( string str, string to_encoding [, mixed from_encoding]

需要先enable mbstring 扩展库,在 php.ini里将; extension=php_mbstring.dll 前面的 ;

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

那为何还要讲解 这个 mb_convert_encoding()函数呢?答案如下:

发现iconv在转换字符”—”到gb2312时会出错,如果没有ignore参数,所有该字符后面的字符串都无法被保存。不管怎么样,这个”—”都无法转换成功,无法输出。

另外mb_convert_encoding没有这个bug.

一般情况下用 iconv,只有当遇到无法确定原编码是何种编码,或者iconv转化后无法正常显示时才用mb_convert_encoding 函数.

php如何转码字符串,有啥区别

一般情况用iconv和mb_convert_encoding旧可以解决转码问题,下面我列举几个case详细解释一下:

       上面是几个case对应的不同转化结果,为什么会有区别呢?首先看一下规范传参说明:

iconv ( string $in_charset , string $out_charset , string $str ),

如果你在 out_charset 后添加了字符串 //TRANSLIT,将启用转写(transliteration)功能。这个意思是,当一个字符不能被目标字符集所表示时,它可以通过一个或多个形似的字符来近似表达。

如果你添加了字符串 //IGNORE,不能以目标字符集表达的字符将被默默丢弃。 否则, str 从第一个无效字符开始截断并导致一个 E_NOTICE

如果out_charset 后面无添加字符串,会从第一个不能识别的字符开始截断,并生成一个E_NOTICE。因此后边的内容被丢弃了

当$value=""时,utf8_to_gbk转码结果是false,mb_convert_encoding的结果是"",iconv的结果是""

PHP里怎么转码?

使用函数:iconv();

iconv ( string $in_charset , string $out_charset , string $str )

第一个参数:内容原的编码

第二个参数:目标编码

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

关于字符串转码php的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。

查看更多关于字符串转码php 字符串转码utf8的详细内容...

声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did195766
更新时间:2023-04-26   阅读:19次

上一篇: php中insert用法 php insert

下一篇:包含die是php的词条

最新资料更新

  • 1.射洪php招聘 射洪平台公司招聘
  • 2.php美国东部时间 美国东部时间 换算
  • 3.php加密12进 php加密解密
  • 4.php中catch的简单介绍
  • 5.php在线做点兼职 php在线做点兼职是真的吗
  • 6.php移动gps定位 functionsphp位置
  • 7.php获取数组坐标 php获取数组的值
  • 8.php获取阴历 php获取日期
  • 9.php扩展的路径 php常用扩展有哪些
  • 10.php数据库对象 php针对数据库的查询函数是
  • 11.php暂停方法 php 停止执行
  • 12.phpwhere循环 php中的循环
  • 13.php的sql累加 sql实现累加
  • 14.php判断字符串的编码 php 判断字符串是否存在某个字符串
  • 15.php学费多少兄弟连 php教程兄弟连
  • 16.phpurl链接解析 php解析url
  • 17.包含phpautoconf的词条
  • 18.redis缓存类php php redis页面缓存
  • 19.php防止ajax接口 php防止接口多次请求
  • 20.php5.4.13的简单介绍

CopyRight:2016-{hedonghua:year}{hedonghua:sitegs} 备案ICP:湘ICP备09009000号-16 {hedonghua:sitejym}
本站资讯不构成任何建议,仅限于个人分享,参考须谨慎!
本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。

网站内容来源于网络分享,如有侵权发邮箱到:kenbest@126.com,收到邮件我们会即时下线处理。
网站框架支持:HDHCMS   51LA统计 百度统计
Copyright © 2018-2025 「好得很程序员自学网」
[ SiteMap ]