好得很程序员自学网
  • 首页
  • 后端语言
    • 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字符集转换 php字符串转义

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

本文目录一览: 1、 如何将phpinfo字符串类型转换 2、 php数组utf-8转GBK 3、 php中怎么将GB18030转换为UTF-8编码 4、 php怎样把utf8转换为gbk 5、 php程序usc2编码如何转换成ansi简体中文编码? 6、 如何调整php的默认字符集 如何将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数组utf-8转GBK

两种解决方式,一种是直接在页面头部加入heard(UTF8),另一种是使用字符转换函数,两种各有优势,具体看你自己了。完整的写法自己可以百度下,或许对你有用。

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怎样把utf8转换为gbk

<?php@header("Content-type:text/html;charset=UTF-8");echo $str= '你好,这里是卖咖啡!';echo '<br />';echo iconv("UTF-8","gbk//TRANSLIT",$str);; //将字符串的编码从UTF-8转到GB2312

echo '<br />';echo iconv_substr($str, 1, 1, 'UTF-8'); //按字符个数截取而非字节print_r(iconv_get_encoding()); //得到当前页面编码信息echo iconv_strlen($str, 'UTF-8'); //得到设定编码的字符串长度?>

gbk转换为utf8的方法:

<?php

@header("Content-type:text/html;charset=GB2312");echo $str= '你好,这里是卖咖啡!';echo '<br />';echo iconv('GB2312', 'UTF-8', $str); //将字符串的编码从GB2312转到UTF-8echo '<br />';echo iconv_substr($str, 1, 1, 'GB2312'); //按字符个数截取而非字节print_r(iconv_get_encoding()); //得到当前页面编码信息echo iconv_strlen($str, 'GB2312'); //得到设定编码的字符串长度?>

php程序usc2编码如何转换成ansi简体中文编码?

给个转码的方法给你吧! 你可以自己修改$outEncoding的参数,下面的方法默认是转换为gb2312的字符集了,你调用方法就可以将你的字符串转换字符

//中文字符编码转换

public function safeEncoding($string,$outEncoding ='GB2312')

{

$encoding = "UTF-8";

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

{

if(ord($string{$i})<128)

continue;

if((ord($string{$i})224)==224)

{

//第一个字节判断通过

$char = $string{++$i};

if((ord($char)128)==128)

{

//第二个字节判断通过

$char = $string{++$i};

if((ord($char)128)==128)

{

$encoding = "UTF-8";

break;

}

}

}

if((ord($string{$i})192)==192)

{

//第一个字节判断通过

$char = $string{++$i};

if((ord($char)128)==128)

{

// 第二个字节判断通过

$encoding = "GB2312";

break;

}

}

}

if(strtoupper($encoding) == strtoupper($outEncoding))

return $string;

else

return iconv($encoding,$outEncoding,$string);

}

如何调整php的默认字符集

编辑php的配置文件 php.ini

找到default_charset配置项,然后在下边一行添加想要改变的字符集

default_charset = "utf8"

然后重启apache或者是php-fpm服务,现在再打开你的网站看看吧,是不是没有乱码了

或者采用编辑工具把文件的字符集转为UTF-8格式。

望采纳 Thx

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

查看更多关于php字符集转换 php字符串转义的详细内容...

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

上一篇: php哈希表生成 哈希表js

下一篇:php登录显示内容 php 登录页面

最新资料更新

  • 1.php操作redis存值 php redis数据类型
  • 2.phpsessions phpsession使用
  • 3.phpapache占有 php apc缓存
  • 4.php实现小说目录的方法 php自动生成小说
  • 5.php网络通信 php通信协议
  • 6.php变量内存溢出 php 内存限制
  • 7.php区xml文件 php处理xml数据
  • 8.php脚本在线解密 php解密网站程序源码
  • 9.phpcurl解析失败 php在html中无法解析
  • 10.php蓝色的代码 html颜色代码
  • 11.php常量乱码 phpstorm乱码
  • 12.php调用裁剪插件 phpcrawl
  • 13.手机打开php乱码 php乱码怎么办
  • 14.php客户信息管理 php用户管理
  • 15.php在线做点兼职 php在线做点兼职是真的吗
  • 16.包含php-fpm-t的词条
  • 17.php暂停方法 php 停止执行
  • 18.nginx隐藏.php nginx隐藏ip
  • 19.关于php+imei的信息
  • 20.php图片打不开 php打不开文件

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

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