首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

php中常见编码问题

PHP程序设计中中文编码问题曾经困扰很多人,导致这个问题的原因其实很简单,每个国家(或区域)都规定了计算机信息交换用的字符编码集,如美国的扩展 ASCII 码, 中国的 GB2312-80,日本的 JIS...PHP 程序在查询数据库之前,首先执行 mysql_query("SET NAMES xxxx"); 其中 xxxx 是你网页的编码(charset=xxxx),如果网页中 charset=utf8,则...解决各种应用的乱码问题   1) 使用 标签设置页面编码   这个标签的作用是声明客户端的浏览器用什么字符集编码显示该页面,xxx 可以为 GB2312、GBK、UTF-8(和 MySQL 不同,MySQL...结束语   其实 php 开发中的中文编码并没有想像的那么复杂,虽然定位和解决问题没有定规,各种运行环境也各不尽然,但后面的原理是一样的。了解字符集的知识是解决字符问题的基础。...不过,随着中文字符集的变化,不仅仅是 php 编程,中文信息处理中的问题还是会存在一段时间的。

1.2K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    PHP字符串的编码问题

    大家都知道,不同字符编码,其在内存占用的字节数不一样。如 ASCII编码字符占用1个字节,UTF-8编码的中文字符是3字节,GBK为2个字节。...PHP 也自带几种字符串截取函数,其中常用到的就是 substr 和 mb_substr。 使用substr截取中文字符时会出现乱码,这是因为substr是按字节来截取的。...编码相关的php函数使用 ord(substr(str, i, 1)) > 0xa0) ord($string)返回字符串第一个字符的ASC码,通过这个来判断截取的字符串第一个字符是不是汉字,因为例如...此编码与 WWW 表单 POST 数据的编码方式是一样的,同时与 application/x-www-form-urlencoded 的媒体类型编码方式一样。...如下,先把php文件设置为gb2312编码。你会看到一部分是乱码,一部分是正常的。

    2.5K20

    WordPress根据浏览器语言自动跳转网址的方法

    同时有些外贸站站长不希望自己的网站被国内用户访问,想要国内用户跳转到不同的网址,我们可以利用浏览器语言来判断用户环境,然后自动跳转到不同的网址上面,具体方法如下: 在你的网站主题头部文件(header.php...'])) $lc = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2); // 这里截取语言编码前两位来判断,如果是中文,转向百度 if($lc == "zh...上面的代码中,你可以添加更多的语言,例如巴西、法语、葡萄牙语,然后对应跳转到不同的网址,多种语言跳转代码如下: <?...日语 ko 韩语 ko 韩文(韓文) lv 拉脱维亚语 lt 立陶宛语 mk 马其顿语(前南马其顿) ms 马来西亚语 mt 马耳他语 no 挪威文(巴克摩) no 挪威文(耐诺斯克) pl 波兰语 pt-br...葡萄牙语(巴西) pt 葡萄牙语(葡萄牙) rm 里托罗曼斯文 ro 罗马尼亚语 ro-mo 罗马尼亚语(摩尔多瓦共和国) ru 俄语 ru-mo 俄罗斯(摩尔多瓦共和国) sz 萨米语(拉普语) sr

    1.1K00

    MySQL编码引发的两个问题 原

    所以今天对相关知识做一个系统的整理。 对于mysql的字符集编码已经不陌生了,不过,每次遇到相关问题都是依赖于百度、Google......今天遇到的emoji表情的存储问题也是司空见惯了,原因多数是因为MySQL使用了utf8字符集(至于公司之前为什么会用utf8我也不清楚,就不过多吐槽了),utf8字符集本身并无可厚非,但是MySQL的这一败笔算是真正的技术打脸...言归正传,今天整理两个问题: 什么是MySQL编码? 什么操作会导致MySQL锁表? 确定要大刀阔斧的干?...Google一下,发现这篇文章 彻底解决MySQL字符集问题 。 沿着这个思路,查看公司线上和测试服(能正常写入数据)数据库编码相关配置: ? 如图所示,线上数据库数据表的编码仍然是utf8!...问题的原因浮出水面,那么为什么线上线下会不一致呢?刚来公司不久就不追溯了。那么,改线上数据表的编码类型吧。 此时,另一个问题迎面而来,更改数据表编码类型会不会导致数据库锁表呢?

    2.8K20

    WordPress 的 PHP 编码规范

    WordPress 的 PHP 编码标准对整个 WordPress 社区都适用,但是对于 WordPress 核心代码是强制要求的,而对于主题和插件,WordPress 则鼓励使用,因为主题和插件的作者可能会选择遵循别的编码风格...但这个编码规范不仅关于编码风格,还包括 WordPress 生态中互操作性、可翻译性和安全性等方面的最佳实践,因此即使使用其他的编码风格 ,还是建议开发者在最佳实践方面仍然遵守 WordPress 编码标准...对于开发者来说,如果想根据这个规范去自动检查自己的代码,可以使用基于 PHP_CodeSniffer 开发的官方 WordPress 编码规范工具。...HTML 标签无效甚,甚至引起安全问题,如何对属性进行转义,我们会在以后的文章中详细讲解。...php } 不要使用简写的 PHP 标记 重要:永远不要使用简写的 PHP 标记,是用完整版。 正确: php ... ?> php echo $var; ?> 错误: <? ... ?

    5.5K40

    Python的编码问题

    在看《Dive Into Python》有一章是对XML的处理,其中写着 import sys sys.setdefaultencoding('iso-8859-1') 而我使用urlopen写一个采集小程序时...,遇上了一个编码问题。...,原因是百度默认的编码是gb2312,而python默认的编码格式为ascii(可通过打印sys.getdefaultencoding() 显示出来) 为什么import sys后,然后使用sys.不会自动提示显示出...之后搜索了一下: python的初始化脚本site.py会把sys模块的setdefaultencoding方法删除,python在初始化完毕之后,禁止用户改变默认编码。...以上内容引用至【python改变默认编码】 还有就是在抓取到页面后,需要对页面进行一个解码动作(decode),完整的demo代码将会如下所示: 1: #coding:utf-8 2: import

    64110

    php中的进制和编码

    进制和编码的关系 进制是数字上的关系 我们日常使用的是10进制,因为我们有10个手指,这是习惯和发展使然。 计算机的基础是2进制,因为电路只有通电、不通电两种状态,用0、1表示。...见这张我自己画的小图吧~ php中的进制转换 在php中 内置了挺多的进制转换函数 bindec() — 二进制转换为十进制 decbin() — 十进制转换为二进制 dechex() — 十进制转换为十六进制...在我们日常写程序的时候,我们面向的是编码,而不是进制。...常见的文件编码格式现在有:GBK、UTF-8 在机器传输过程中只能2进制,不管是GBK编码还是UTF-8编码,都可能是这样子的数据01010001111010101001111,至于怎么解析,就看机器通信之间的规定了...所以当我们在UTF-8文件的php程序输出小写字母a的时候,经过解析会转换得到97这个10进制的数。

    1.7K20

    MySQL库的操作『增删改查 ‖ 编码问题 ‖ 备份与恢复』

    字符集 和 检验集,用于设置 数据库 中的编码规则 为什么要设置编码?...因为 数据库 是用来存放 表 的,而 表 是用来存放内容的,内容又是以不同编码格式存储的,所以需要先确定 数据库 中的编码规则,才能确保后续能正常使用 2.数据库中的编码问题 2.1.字符集与校验集 MySQL...中与编码相关的主要是 字符集 与 校验集 字符集 用于规定未来存储时的编码格式 校验集 则是规定数据查询时的校验规则 查看 MySQL 所有关于默认 字符集 与 校验集 的使用情况 mysql> show...数据库,通常需要将 数据库 进行备份 6.数据库的备份与恢复 有一种简单粗暴的备份方式:直接将对应的目录打包,需要使用时解压至指定目录即可 这种方式 严重不推荐,原因是恢复时可能会出现问题,假设恢复至版本更低的...MySQL 中,会出现各种奇怪的问题,毕竟老版本没有新特性,还有就是这种做法太暴力了 推荐使用 MySQL 提供的备份工具 mysqldump 进行备份,具体语法为 mysqldump -u 用户 -

    18930

    关于PHP字符编码的函数区别

    在以前的学习当中,比方说有一次的写采集过程中转换字符的编码的时候老是失败,转换的结果总没有完全输出,后来经过网络查询得知是iconv有一个“-”漏洞,所以我们有必要掌握PHP的另一个字符编码函数mb_convert_encoding...mb_convert_encoding函数为php内部多字节字符串编码转换函数,可以在有需要的使用场合(如:解决在GB2312编码环境下使用Ajax产生的中文字乱码的问题)方便进行编码转换,以解决网页乱码的问题...在php文件的头部加上下面三行代码: mb_internal_encoding("gb2312"); // 这里的gb2312是你网站原来的编码 mb_http_output("HTML-ENTITIES...如果没有没有开启php的mbstring扩展,则需要做如下设置,让php支持该扩展。...2、Linux服务器环境 在编译配置时加入 –enable-mbstring=cn 编译参数,再进行PHP的编译安装。

    87920
    领券