解决php mb_substr函数中文乱码问题
[ 2022-08-20 14:51:08 | 作者: admin ]
PHP用substr截取字符串出现中文乱码问题用 mb_substr
实例:
mb_substr('截取中文乱码问题测试',0,5, 'utf-8');
$rest = substr ("中国人", 1, -1); // returns "fdsafsda" 就是乱码了
解决办法主要有两种:
一、使用mbstring扩展库的mb_substr()截取就不会出现乱码了。
可以用mb_substr()/mb_strcut()这个函数,mb_substr()/mb_strcut()的用法与substr()相似,只是在mb_substr()/mb_strcut最后要加入多一个参数,以设定字符串的编码,
但是一般的服务器都没打开php_mbstring.dll,需要在php.ini在把php_mbstring.dll打开。
阅读全文…
实例:
mb_substr('截取中文乱码问题测试',0,5, 'utf-8');
$rest = substr ("中国人", 1, -1); // returns "fdsafsda" 就是乱码了
解决办法主要有两种:
一、使用mbstring扩展库的mb_substr()截取就不会出现乱码了。
可以用mb_substr()/mb_strcut()这个函数,mb_substr()/mb_strcut()的用法与substr()相似,只是在mb_substr()/mb_strcut最后要加入多一个参数,以设定字符串的编码,
但是一般的服务器都没打开php_mbstring.dll,需要在php.ini在把php_mbstring.dll打开。
echo mb_substr("php中文字符encode",0,4,"utf-8");
...阅读全文…
mysql中插入表情符号emoji、日文片假名问题
[ 2022-07-26 15:15:04 | 作者: admin ]
p.s.有次全部设好还乱码,查了发现自定义截取函数有问题,改为mb_substr()注意第三个编码参数,就正常了。
MySQL在5.5.3版本之后增加了这个utf8mb4的编码,mb4就是most bytes 4的意思,专门用来兼容四字节的unicode。其实,utf8mb4是utf8的超集。
一、首先修改mysql配置文件
二、建立数据库和字段的时候需要使用 utf8mb4
三、程序中连接数据库需要使用 utf8mb4
...
阅读全文…
MySQL在5.5.3版本之后增加了这个utf8mb4的编码,mb4就是most bytes 4的意思,专门用来兼容四字节的unicode。其实,utf8mb4是utf8的超集。
一、首先修改mysql配置文件
[client]
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4
[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
default-character-set=utf8mb4
[mysql]
default-character-set=utf8mb4
[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
二、建立数据库和字段的时候需要使用 utf8mb4
三、程序中连接数据库需要使用 utf8mb4
...
阅读全文…
关于nginx+php服务器启用session,使用函数json_encode后链接自动加上PHPSESSID参数,造成json串解析失败的问题
[ 2022-06-01 16:18:26 | 作者: admin ]
p.s.其他centos服务器还没有遇到这个问题,或者说尚不清楚是否存在这个问题
原始字符串
正常json_encode()后
目前遇到的问题是 json_encode 后自动加了 ?PHPSESSID=AAAAAAAAAAA ,造成json字符串无法正常解析了
解决办法:
在php.ini中配置为
原始字符串
<a href="mailto:666666@qq.com ">666666@qq.com</a>
正常json_encode()后
<a href=\"mailto:666666@qq.com \">666666@qq.com<\/a>
目前遇到的问题是 json_encode 后自动加了 ?PHPSESSID=AAAAAAAAAAA ,造成json字符串无法正常解析了
<a href=\?PHPSESSID=AAAAAAAAAAA"mailto:666666@qq.com \">666666@qq.com<\/a>
解决办法:
在php.ini中配置为
session.use_only_cookies = 1;
HTTPS能登陆,HTTP不行,是cookie的secure标志的问题
[ 2022-05-23 16:50:13 | 作者: admin ]
同一个服务器既支持HTTPS,又支持HTTP。
登陆认证非常典型,即服务端通过Set-Cookie头设置-http-session-到浏览器的cookie,浏览器请求时自动携带这个cookie完成认证。
现在发现一个现象:HTTPS先登陆,再通过HTTP无法登陆,反之则都能登陆。
研究发现,这是由于cookie的安全标志secure引起的。
1.HTTP和HTTPS是同一个domain,cookie是共享的。
2.如果没有secure标志,HTTPS登陆后,HTTP页面请求时可以自动携带和HTTPS相同的cookie。
3.由于有secure标志,HTTP无法读取HTTPS的cookie。
4.HTTP也无法设置自己的cookie,因为和HTTPS是同一个domian。
5.由于上述两点,HTTP便无法登陆。
6.各家浏览器实现也不一样,目前发现谷歌内核的浏览器有此问题,IE没有。
...
阅读全文…
登陆认证非常典型,即服务端通过Set-Cookie头设置-http-session-到浏览器的cookie,浏览器请求时自动携带这个cookie完成认证。
现在发现一个现象:HTTPS先登陆,再通过HTTP无法登陆,反之则都能登陆。
研究发现,这是由于cookie的安全标志secure引起的。
1.HTTP和HTTPS是同一个domain,cookie是共享的。
2.如果没有secure标志,HTTPS登陆后,HTTP页面请求时可以自动携带和HTTPS相同的cookie。
3.由于有secure标志,HTTP无法读取HTTPS的cookie。
4.HTTP也无法设置自己的cookie,因为和HTTPS是同一个domian。
5.由于上述两点,HTTP便无法登陆。
6.各家浏览器实现也不一样,目前发现谷歌内核的浏览器有此问题,IE没有。
...
阅读全文…
win10下修改hosts文件提示,没有权限和只读文件问题
[ 2022-05-15 10:22:49 | 作者: admin ]
使用命令提示符运行记事本
右键单击Windows键,然后选择“ Windows PowerShell(管理员方式)”。
将以下命令复制并粘贴到命令提示符窗口中,并在每个命令之后按Enter键:
cd C:\Windows\System32\drivers\etc
notepad hosts
对主机文件进行更改,保存并关闭命令提示符。
也可以以管理员方式运行cmd,同样可以编辑hosts
右键单击Windows键,然后选择“ Windows PowerShell(管理员方式)”。
将以下命令复制并粘贴到命令提示符窗口中,并在每个命令之后按Enter键:
cd C:\Windows\System32\drivers\etc
notepad hosts
对主机文件进行更改,保存并关闭命令提示符。
也可以以管理员方式运行cmd,同样可以编辑hosts
npm命令参数详解 -S -D -g
[ 2022-05-12 14:48:51 | 作者: admin ]
在使用npm下载安装模块时,一般使用以下几个命令:
devDependencies和dependencies 节点(开发环境和生产环境)
...
阅读全文…
npm install moduleName # 安装模块到项目目录下
npm install -g moduleName # -g 的意思是将模块安装到全局,具体安装到磁盘哪个位置,要看 npm config prefix 的位置。
npm install -save moduleName # -save 的意思是将模块安装到项目目录下,并在package文件的dependencies节点写入依赖。
npm install -save-dev moduleName # -save-dev 的意思是将模块安装到项目目录下,并在package文件的devDependencies节点写入依赖。
npm install -g moduleName # -g 的意思是将模块安装到全局,具体安装到磁盘哪个位置,要看 npm config prefix 的位置。
npm install -save moduleName # -save 的意思是将模块安装到项目目录下,并在package文件的dependencies节点写入依赖。
npm install -save-dev moduleName # -save-dev 的意思是将模块安装到项目目录下,并在package文件的devDependencies节点写入依赖。
devDependencies和dependencies 节点(开发环境和生产环境)
...
阅读全文…
记录下开发中遇到的低级错误,如template和background-color,css样式行尾加了分号
[ 2022-05-11 21:38:57 | 作者: admin ]
p.s. 这些拼写造成的问题,很难检查出来,调试过程浪费时间,手写代码容易手误,还是要多利用工具的自动提示功能。
1、组件不显示,检测到怀疑人生
最后发现是模板单词 template 误写成了 templete
2、一个vant组件背景色样式background-color始终无法自定义
检查了几遍官方文档,查csdn和cnblog,还去查了百毒就是没有头绪
无意中再加个 background 居然就成功改色了,想想不能够,仔细看了下原来是单词错误
background-color 写成了 backgroud-color
难怪浏览器调试里出现backgroud-color是未知属性(unknown property value),怎么也不会想到这么熟悉的单词能写错。
...
阅读全文…
1、组件不显示,检测到怀疑人生
最后发现是模板单词 template 误写成了 templete
2、一个vant组件背景色样式background-color始终无法自定义
检查了几遍官方文档,查csdn和cnblog,还去查了百毒就是没有头绪
无意中再加个 background 居然就成功改色了,想想不能够,仔细看了下原来是单词错误
background-color 写成了 backgroud-color
难怪浏览器调试里出现backgroud-color是未知属性(unknown property value),怎么也不会想到这么熟悉的单词能写错。
...
阅读全文…
Vue报错:Mixed spaces and tabs no-mixed-spaces-and-tabs 解决办法
[ 2022-05-11 17:20:12 | 作者: admin ]
package.json的eslintrcr配置项rules里,手动添加’no-mixed-spaces-and-tabs’,然后定义为0,关闭规则
“no-mixed-spaces-and-tabs”:0