当前位置:首页 » 编程语言 » php截取字符乱码

php截取字符乱码

发布时间: 2025-02-13 19:53:54

1. 用php数据库中取出的中文是乱码,怎么处理能使中文正常显示

数据库采用UTF8编码,而页面申明编码是GB2312,这是最常见的产生乱码的原因。这时候在PHP脚本里面直接SELECT数据出来的就是乱码,需要在查询前先使用:mysql_query("SET NAMES GBK");或mysql_query("SET NAMES GB2312");来设定MYSQL连接编码,保证页面申明编码与这里设定的连接编码一致(GBK是GB2312的扩展)。如果页面是UTF-8编码的话,可以用:mysql_query("SET NAMES UTF8"); 注意是UTF8而不是一般用的UTF-8。假如页面申明的编码与数据库内部编码一致可以不设定连接编码。
事实上MYSQL配置文件my.ini中定义了2个默认编码,分别是[client]里的default-character-set和[mysqld]里的default-character-set来分别设定默认时候客户端连接和数据库内部所采用的编码。上面指定的编码其实是MYSQL客户端连接服务器时候的命令行参数character_set_client,来告诉MYSQL服务器接受到的客户端数据是什么编码的,而不是采用默认编码。
转自:http://hi..com/delicious/item/37c18cf457dc142a753c4c0c

2. php中explode截取中文又乱码,求解~~

如下面例子,在GBK编码下会产生乱码。
原因,在php6之前,字符是以字节形式存在的,字符"碪"的gbk字节码是"B4 55",而字符"U"的字节码是"55",在explode函数中第一个参数的字符串会转成相应的字节,然后和第二个参数凯答的字节码比对,进行分割。
在下面例子中就是 55 分割 B4 55 B4 55 55 B4 55 B4 55 ,所以"碪"字被分割了。

这种情况很多,所以在败孙闭php中使用explode时应多注意!

<?php
$result = explode("U", "碪碪U碪碪");
print_r($result);
?>

我也碰到这问题了,正在研究字母解决察裂

3. PHP 输出简单的中文 乱码问题

解决php中中文乱码问题方法

  1. php文件本身的编码与网页的编码应匹配


    a. 如果欲使用gb2312编码,那么php要输出头:header(“Content-Type: text/html; charset=gb2312"),静态页面添加<metahttp-equiv="Content-Type" content="text/html; charset=gb2312">,所有文件的编码格式为ANSI,可用记事本打开,另存为选择编码为ANSI,覆盖源文件。


    b. 如果欲使用utf-8编码,那么php要输出头:header(“Content-Type: text/html; charset=utf-8"),静态页面添加<metahttp-equiv="Content-Type" content="text/html; charset=utf-8">,所有文件的编码格式为utf-8。保存为utf-8可能会有点麻烦,一般utf-8文件开头会有BOM,如果使用session就会出问题,可用editplus来保存,在editplus中,工具->参数选择->文件->UTF-8签名,选择总是删除,再保存就可以去掉BOM信息了。

  2. php本身不是Unicode的,所有substr之类的函数得改成mb_substr(需要装mbstring扩展);或者用iconv转码。

  3. 如果你的HTML文件文件出现了乱码问题,那么你可以在head标签里面加入UTF8编码(国际化编码):UTF-8是没有国家的编码,也就是独立于任何一种语言,任何语言都可以使用的。

(3)php截取字符乱码扩展阅读:

解决PHP 输出简单的中文 乱码问题的其他方法:

在php的echo前面加入header("Content-Type:text/html;charset=gb2312")

把<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />中的UTF-8改成gb2312

4. 请问下php怎么处理截取字符串出现的乱码问题

利用php内置方法mb_substr截取不乱码;
1、GBK编码截取示例:
$str = '我是谁'; //gbk编码的字符串
echo mb_substr($str, 0, 1, 'gbk'); //输出 我

mb_substr方法比substr多一个参数,用来指定字符串编码。

2、utf-8编码截取示例:
[code]
$str = '我abc是谁'; //utf-8编码的字符串
echo mb_substr($str, 0, 2, 'utf-8'); //输出 我a
[/code]
中英混合也完全没有问题。

热点内容
安装linuxvmwaretools 发布:2025-02-13 22:56:02 浏览:7
浪潮服务器如何引导系统安装光盘 发布:2025-02-13 22:56:02 浏览:111
java多线程的同步 发布:2025-02-13 22:46:15 浏览:919
软件使用权限里存储关闭还是打开 发布:2025-02-13 22:46:11 浏览:381
大王卡视频上传成功正在审核 发布:2025-02-13 22:45:06 浏览:522
和平精英安卓版怎么调成中文 发布:2025-02-13 22:16:10 浏览:36
混沌起源需要什么配置玩 发布:2025-02-13 22:14:33 浏览:277
vs引入文件夹 发布:2025-02-13 22:05:52 浏览:127
安卓手机如何调无限电量 发布:2025-02-13 22:05:50 浏览:113
phppost长度 发布:2025-02-13 22:05:45 浏览:626