位置: 编程技术 - 正文

CodeIgniter 完美解决URL含有中文字符串(codeignitor)

编辑:rootadmin

推荐整理分享CodeIgniter 完美解决URL含有中文字符串(codeignitor),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:codeigniter4 中文手册,code insiders,codeigniter3中文手册,codeigniter3中文手册,codeigniter 教程,code insiders,codeignitor,codeigniter中文手册,内容如对您有帮助,希望把文章链接给更多的朋友!

codeIgniter默认的配置下是不允许URL中包含非ASCII字符的,如果URL中含非ASCII字符,那么CI会毫不客气的抛出错误。本文章向码农介绍CodeIgniter 如何解决URL含有中文字符串。

你 可能会说,那我把这个URL使用函数urlencode一下呢?不行。因为Web Server会在接收到一个被urlencode的URL后自动将其decode,然后在PHP里得到的这些字符串转换成他原来所代表的含义,并使用 Web Server自己的URL编码字符集(IIS6 中文版是GBK,Apache 2.2是UTF-8)传送给应用程序,这就使得CI得到的URL已经是一个解码过的,无论你有没有对URL进行urlencode,浏览器在发出请求时会 自动检测,若没有,则会自动进行编码。所以,手动的进行urlencode并不能解决问题。那么我们应该怎么做来解决这个问题呢?

对于CI这种框架,用到现在,我的观点是尽量不要去修改它,而是去扩展他,CI提供了很好的扩展机制,我们只需要在application/core/下(2.0版本以前的为application/libraries/)增加一个文件MY_URI.php,其内容为:

我覆盖了原来CI_URI中的_filter_uri方法,这样就可以使得中文的URL通过检测。但是,如果URL里有空格, 也不行了,怎么办呢?原来,urlencode会将空格转换成+,而CI的默认配置中是不允许+出现在URL里的,OK,把

改成

就可以了。

或者

CodeIgniter 完美解决URL含有中文字符串(codeignitor)

第一步把config.php 中的

替换成

面所有的操作我们都做完了,但是接下来你可能又遇到了新的问题,那就是url中得到的中文信息是乱码,不知道在你的服务器上会不会遇到该问题,但是我遇到了(IIS)。但是在本地是正常的,本地用的是apache。

好,我在程序中,把$_SERVER['REQUEST_URI']打印出来,发现它就是乱码的,苦思冥想,这是怎么回事?这就说明在我得到uri中的参数之前,就已经被编码了,好,我们使用iconv解码:

现在打印出来看看,好了,原来的中文参数打印出来了,是正确的。

这个问题解决了,但是还是有一个疑问,url为什么是gb编码的呢,如果在我的程序中使用(我采用的是utf-8编码),还需要转换为utf-8编码,是不是和web服务器是有关系的呢,希望大家能够帮忙解答。

以上这篇CodeIgniter 完美解决URL含有中文字符串就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持积木网。

PHP中PDO连接数据库中各种DNS设置方法小结 本文实例总结了PHP中PDO连接数据库中各种DNS设置方法。分享给大家供大家参考,具体如下:pdo中DNS书写方式如下:mssql:host=localhost;dbname=testdbsybase:host=loca

PHP5.3连接Oracle客户端及PDO_OCI模块的安装方法 本文实例讲述了PHP5.3连接Oracle客户端及PDO_OCI模块的安装方法。分享给大家供大家参考,具体如下:php连接oracle数据库虽然不是最佳拍档,但组内开发确

关于PHP文件的自动运行方法分析 本文实例分析了PHP文件的自动运行方法。分享给大家供大家参考,具体如下:这里分析两种方法:第一种方法:a.php文件内容如下:phpini_set("error_log","c:

标签: codeignitor

本文链接地址:https://www.jiuchutong.com/biancheng/294874.html 转载请保留说明!

上一篇:LINUX下PHP程序实现WORD文件转化为PDF文件的方法(linux中php的作用)

下一篇:PHP中PDO连接数据库中各种DNS设置方法小结(php pdo连接mysql)

  • 可以抵扣进项税额的增值税普通发票
  • 金蝶结转销售成本
  • 记账凭证红字冲销
  • 报销单用法
  • 租金和押金的税率
  • 企业的房屋是否能确认为存货?为什么?(简单描述即可)
  • 委托加工应税消费品消费税的账务处理是怎样的?
  • 施工单位给你钱敢领吗
  • 免费拿样品
  • 销售不动产包括哪些内容
  • 一般纳税人的含税收入怎么算
  • 增值税抵扣进项税额交税账务处理
  • 买入返售金融资产什么意思
  • 申请最高开票限额不超过10万元的无需事前实地查验
  • 跨年租金收入会计分录
  • 跨年度错账更正方法
  • 搞金融的企业
  • 只有发票才能税前扣除吗
  • 购买增值税专用发票会判刑吗
  • 不动产进项抵扣新政策2022
  • 企业残疾人保障金的缴纳标准
  • 印花税的征收项目
  • 去年收入少做了怎么调账
  • 腾讯电脑管家游戏模式
  • 个税退手续费怎么申请
  • 增值税红字发票申报表怎么填
  • 腾讯手游助手玩不了金铲铲
  • 农产品进项转出的规定
  • explorer.exe是啥意思
  • 最高像素的手机
  • framework教程
  • 国产设备投资抵免企业所得税
  • 什么情况下可以土葬
  • Smarty实现页面静态化(生成HTML)的方法
  • 股票溢价发行会亏本吗
  • google map
  • 总结js中常用的字符
  • php递归函数详解
  • 增值税发票已认证抵扣还可以进项税额转出吗
  • python里%s
  • 以股权抵债的会计分录
  • 红字发票信息表填好后再怎么操作
  • 财务报表季报应付职工薪酬为负数
  • 工业企业变压器容量费用
  • 帝国cms移动端
  • mysql binlog dump
  • 支付水费委托收款
  • 制造费用明细科目大全表
  • 实际开票金额和转账金额不一致怎么做
  • 小微企业社保代缴
  • 多认证的发票怎么做账
  • 跨年更正错误记账凭证的方法
  • 计提社保公积金的账务处理
  • 公司变更名字后,公账怎么办
  • 坏账准备的会计分录例题
  • 应收账款贷方有余额说明什么
  • 电子承兑追索清偿的顺序
  • 影响折旧的因素有哪三个方面
  • mysql高级功能
  • mysql5.7.29安装
  • win7自带截图保存在哪个文件夹
  • mac如何恢复到出厂系统版本
  • win8语音助手怎么关闭
  • 小马kms激活工具
  • win8和win10双系统安装教程
  • cocos2d::DrawPrimitives和DrawNode分别实现画板功能
  • ubuntu系统怎么安装
  • node copyfile
  • 内部变量 变成 外部变量
  • 批处理文件教程
  • node.js介绍
  • javascript基础
  • 江苏国家税务机关电话
  • 上海各区税务大厅
  • 电子税务局个体工商户如何登陆
  • 北京税务局几点下班?
  • 浙江省税务局领导介绍
  • 国家税务总局局官网
  • 重庆新电子税务局入口
  • 深圳城管局 局长
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设