Laravellinux控制台乱码输出乱码

`.+┈兲兲姠丄ヽ⒈
完美解决PHP中文乱码问题
一.首先是PHP网页的编码
1.php文件本身的编码与网页的编码应匹配
a.如果欲使用gb2312编码,那么php要输出头:header(“Content-Type:text/ charset=gb2312"),静态页面添加&metahttp-equiv="Content-Type" content="text/charset=gb2312"&,所有文件的编码格式为ANSI,可用记事本打开,另存为选择编码为ANSI,覆盖源文件。
b.如果欲使用utf-8编码,那么php要输出头:header(“Content-Type:text/ charset=utf-8"),静态页面添加&metahttp-equiv="Content-Type" content="text/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编码
default-character-set=utf8
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:filename=\"$file_name\"");
header("Content-Transfer-Encoding:binary");
readfile($file_path);
$file_type是文件的类型,$file_name是原来的名字,$file_path是保存在服务上文件的地址。
PHP 页面编码声明方法详解(header或meta,解决中文乱码问题)
thinkphp 系统发生错误 错误信息乱码的解决
图文验证码模块乱码问题的解决
没有更多推荐了,laravel编写php中文乱码_百度知道
laravel编写php中文乱码
单独运行没有问题,放在laravel框架中就乱码了...
单独运行没有问题,放在laravel框架中就乱码了
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
qwqwqqwcom123
qwqwqqwcom123
采纳数:88
获赞数:1131
检查你的文件编码跟html meta header编码是否一致
采纳数:80
获赞数:103
laravel框架 这个我倒是没用过 但是 框架应该 有属性设置的,如果你的框架 安装的时候 默认GBK 创建项目的时候
UTF8 PHP 基本用这个
所以会乱码,调节下你的1框架默认编码格式
Aeggainety
Aeggainety
在laravel模板里直接输出会乱码吗?
2条折叠回答
为你推荐:
其他类似问题
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。你的浏览器禁用了JavaScript, 请开启后刷新浏览器获得更好的体验!
刚刚学习Laravel,今天练习的时候碰到一个问题,数据库的中文字段查询返回输出json后被编码,如:\u4ed8\u5b8f\u6ce2x, 数据库设置为utf8,数据库连接字符串中也是utf8,请问大家这个问题怎么破啊?
要回复问题请先或
浏览: 2163
关注: 1 人链接sql server2000成功,用的tck/odbc这个包,但是查询出来的数据中文乱码,使用iconv每条数据都转怕影响性能,请问各位前辈如何从根源处理乱码,感谢!
本文章首发在
附加内容, 使用此功能的话, 会给所有参加过讨论的人发送提醒.
我要举报举报该,理由是:
垃圾广告信息:恶意灌水、广告、推广、测试等内容
违规内容:色情、暴利、血腥、敏感信息等
不友善内容:人身攻击、挑衅辱骂、恶意行为
其他理由:请补充说明
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
您需要登陆以后才能留下评论!
将托管在 packagist.org 和 github.com 的扩展包使用国内 CDN 加速
GitHub Laravel 扩展包 TOP 250
Lumen 是为速度而生,专注于构建无状态 API 的 Laravel 精简版
速查表方便快速查询框架功能,支持手机访问,支持中英文版本
Laravel 中文文档,由社区用户翻译和维护,将会保持一直更新
此文档的目的,就是为了提高技术团队的凝聚力、一致性和生产效率。
开发环境的部署,开发者工具的选择,适用于 Mac 和 Windows。
PHP 扩展依赖工具 Composer 的官方文档翻译,每年校对
全文搜索分析引擎 Elasticsearch PHP 端文档中文翻译
Lumen 中文文档,由社区用户翻译和维护,将会保持一直更新
GraphQL PHP 项目的中文文档,教你如何开发 GraphQL API 接口
一些撰写文档的技巧和思路,一个教你写出好文档的文档。
本系列文章为 laracasts.com 的系列视频教程的课程笔记
PSR 是由 PHP FIG 组织制定的 PHP 规范,是 PHP 开发的实践标准。
设计模式是 PHP 架构师必备知识,本文档完整收录了 PHP 相关的设计模式。
Laravel 下知名扩展包 Dingo API 的中文文档,Laravel API 开发必知必会你的浏览器禁用了JavaScript, 请开启后刷新浏览器获得更好的体验!
刚刚把hello.php的&you have arrived&改成了&你已经到达&,也是乱码!!!设置了半天也没有变化?还希望大家帮帮忙哈~
还是你编码问题,找个工具转化下就好,比如notepad++:
格式 -> 转换为 UTF-8 无 BOM 编码格式
感谢大家详细的回答,问题已经解决!下载了一个notepad++,格式 -> 转换为 UTF-8 无 BOM 编码格式。重新燃起了对laravel的希望!!
什么编辑器?
保存为 不带 bom 头的,UTF-8 格式。
用的epp,我觉得和编辑器没啥关系吧?还有能不能详细点,我是初学者。还有我发现php文件放在外面就没事,放进laravel中文就会出现乱码,不只是.blade.php。还请希望多多指教!!
加个 &meta charset=&UTF-8& /&
要回复问题请先或
浏览: 3605
关注: 4 人

我要回帖

更多关于 java控制台乱码 的文章

 

随机推荐