好得很程序员自学网
  • 首页
  • 后端语言
    • 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>

linuxphp乱码 linux汉字乱码

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

本文目录一览: 1、 PHP调用linux命令执行文档转换,出现乱码 2、 linux中php中文乱码如何解决?请赐教。 3、 php乱码怎么办? 4、 windows 下用浏览器访问远程linux的PHP页面英文显示正常,但是中文乱码,怎么解决呢? 5、 linux下apache2和php乱码问题 PHP调用linux命令执行文档转换,出现乱码

乱码通常是字符集设置不正确的关系,先检查php脚本的字符集是否是utf-8,再检查catdoc获得的是否是utf-8,最后检查输出的是否是utf-8

linux中php中文乱码如何解决?请赐教。

字符默认编码的问题。看这篇最后:

3、文本编码

Linux默认文本编码是Unicode编码(UTF-8和UTF-16),

简体中文Windows的默认文本编码是国标码(GB2312和GB18030),

所以打开windows下的文本文件通常会乱码。

以KWrite为例,打开windows下的xx.txt,

如果乱码了,选择KWrite的菜单

“工具”---->“编码”---->“简体中文”---->“GB18030”

然后显示简体中文就正常了。

如果要让编辑器默认就打开GB18030的文本,

选择菜单

“设置”---->“配置编辑器”,打开设置对话框,

在对话框左边一栏选“打开和保存”,

右边会看到“通用”项,里面“文件格式”---->“编码”,

从列表里选择“简体中文GB18030”,保存配置。

然后点击xx.txt,默认就是国标码打开,不会乱码了。

php乱码怎么办?

PHP中文乱码一般是字符集问题,编码主要有下面几个问题。

一.首先是PHP网页的编码

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

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

b.如果欲使用utf-8编码,那么php要输出头:header(“Content-Type: text/html; charset=utf-8"),静态页面添加<meta http-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转码。

二.PHP与Mysql的数据交互

PHP与数据库的编码应一致

1.修改mysql配置文件my.ini或my.cnf,mysql最好用utf8编码

[mysql]

default-character-set=utf8

[mysqld]

default-character-set=utf8

default-storage-engine=MyISAM

在[mysqld]下加入:

default-collation=utf8_bin

init_connect='SET NAMES utf8'

2.在需要做数据库操作的php程序前加mysql_query("set names '编码'");,编码和php编码一致,如果php编码是gb2312那mysql编码就是gb2312,如果是utf-8那mysql编码就是utf8,这样插入或检索数据时就不会出现乱码了

三.PHP与操作系统相关

Windows和Linux的编码是不一样的,在Windows环境下,调用PHP的函数时参数如果是utf-8编码会出现错误,比如move_uploaded_file()、filesize()、readfile()等,这些函数在处理上传、下载时经常会用到,调用时可能会出现下面的错误:

Warning: move_uploaded_file()[function.move-uploaded-file]:failed to open stream: Invalid argument in ...

Warning: move_uploaded_file()[function.move-uploaded-file]:Unable to move '' to '' in ...

Warning: filesize() [function.filesize]: stat failed for ... in ...

Warning: readfile() [function.readfile]: failed to open stream: Invalid argument in ..

在Linux环境下用gb2312编码虽然不会出现这些错误,但保存后的文件名出现乱码导致无法读取文件,这时可先将参数转换成操作系统识别的编码,编码转换可用mb_convert_encoding(字符串,新编码,原编码)或iconv(原编码,新编码,字符串),这样处理后保存的文件名就不会出现乱码,也可以正常读取文件,实现中文名称文件的上传、下载。

其实还有更好的解决方法,彻底与系统脱离,也就不用考虑系统是何编码。可以生成一个只有字母和数字的序列作为文件名,而将原来带有中文的名字保存在数据库中,这样调用move_uploaded_file()就不会出现问题,下载的时候只需将文件名改为原来带有中文的名字。实现下载的代码如下

header("Pragma: public");

header("Expires: 0");

header("Cache-Component: must-revalidate, post-check=0, pre-check=0");

header("Content-type: $file_type");

header("Content-Length: $file_size");

header("Content-Disposition: attachment; filename=\"$file_name\"");

header("Content-Transfer-Encoding: binary");

readfile($file_path);

$file_type是文件的类型,$file_name是原来的名字,$file_path是保存在服务上文件的地址。

windows 下用浏览器访问远程linux的PHP页面英文显示正常,但是中文乱码,怎么解决呢?

把浏览器页面的字符集换成utf-8试试。或者在linux的php页面上声明字符集为utf-8。

linux下apache2和php乱码问题

# # 完全原创 # #

windows上倒是遇见过很多中乱码,但有些部分应该是差不多的。有参考其他资料,但没有直接复制大段文字,是自己一点点总结出来的。希望能够帮到你。影响因素较多,一一列出1. apache的httpd.conf中有默认编码的设置 ,例如 AddDefaultCharset utf-8,这个会有一定影响

2. php的php.ini中也有默认编码的设置,例如default_charset = "utf-8",只能有一个默认编码

3. 数据库字段使用的编码:如果是Latin很容易乱码的

4. php源代码文件的编码:源代码在开发过程中,文本存为文件本身也是有编码方式的。

5. php代码中使用header控制编码(可以省略)

<?php

header(“Content-Type: text/html; charset=utf-8");

?>

6. 网页前台的编码

html代码中的meta <meta http-equiv="content-type" content="text/html;charset=utf-8">

实际应用中,改变服务器设置不现实,尤其是租服务器,主机提供商不会帮你改的

因此,从3456入手,而且各个部分应该一直、匹配。

也就是说,数据库用了utf-8,那么源码也存成utf-8,网页前台也content="text/html;charset=utf-8"附加说明:

第4点:

一般IDE(例如ZendStudio)是可以指定代码编码的,但是有一些例外:

使用Win7的记事本修改后,存为utf-8,会加入windows特有的utf-8标记“BOM”,这是微软为了标记编码在文件头加的额外信息,这样的源代码被执行后,BOM会发往客户端!客户端收到的网页开头是乱的,因为BOM打乱了内容编码的解析

在Mac上使用编辑工具修改源代码后,代码的存储编码会发生较大变化,本人在于团队合作过程中也因此出现较多问题,不推荐使用系统(win/mac)自带的一些文本编辑工具(即使他们有代码高亮或代码提示)

使用成熟的IDE是很不错的办法第5点:

用header控制编码要注意和其他设置头(header)的操作的前后关系,容易导致 “无法修改已发送的头”的错误

用这个其实有时候实属无奈,但很有效第6点:

请把<meta http-equiv="content-type" content="text/html;charset=utf-8"> 放到<title></title>之前!!

因为如果title包含中文,很可能悲剧。本人遇到过两次整站直接空白无法显示出来的问题,就是因为次序问题。

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

查看更多关于linuxphp乱码 linux汉字乱码的详细内容...

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

上一篇: 想学php报什么专业 学php有什么出路嘛

下一篇:php请求api并发优化 php处理请求

相关资讯

最新资料更新

  • 1.php表示数组元素 php数组实现
  • 2.包含peintphp的词条
  • 3.口袋源码php下载 口袋com
  • 4.php棋牌小游戏 棋牌类小程序
  • 5.php下载csv乱码 php下载文件名乱码
  • 6.php获取监控视频 php采集视频地址
  • 7.php如何页面静态化 php实现页面静态化
  • 8.php事务的隔离级别 php事务处理
  • 9.php根据城市定位 php获取位置信息
  • 10.php图片打不开 php打不开文件
  • 11.php网页老是跳转 php 网页跳转
  • 12.php防止ajax接口 php防止接口多次请求
  • 13.php多继承的作用 php继承关键字
  • 14.notepad写php notepad可以写c语言吗
  • 15.node会取代php nodejs会被deno取代吗
  • 16.免费php空间shery 免费PHP空间 免备案 V52版本
  • 17.php提示重复提交 php api防止重复提交
  • 18.php验证邮箱合理 php发送邮件验证码
  • 19.十荟团php开发怎么样 十荟团内部人士真实感受
  • 20.jq调用php数据 php100 jquery教程

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

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