浏览模式: 普通 | 列表

解决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打开。
echo mb_substr("php中文字符encode",0,4,"utf-8");
...

阅读全文…
p.s.有次全部设好还乱码,查了发现自定义截取函数有问题,改为mb_substr()注意第三个编码参数,就正常了。
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

二、建立数据库和字段的时候需要使用 utf8mb4

三、程序中连接数据库需要使用 utf8mb4
...

阅读全文…
p.s.其他centos服务器还没有遇到这个问题,或者说尚不清楚是否存在这个问题

原始字符串
<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。

登陆认证非常典型,即服务端通过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没有。
...

阅读全文…
使用命令提示符运行记事本

右键单击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下载安装模块时,一般使用以下几个命令:
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节点写入依赖。



devDependencies和dependencies 节点(开发环境和生产环境)
...

阅读全文…
p.s. 这些拼写造成的问题,很难检查出来,调试过程浪费时间,手写代码容易手误,还是要多利用工具的自动提示功能。

1、组件不显示,检测到怀疑人生
最后发现是模板单词 template 误写成了 templete


2、一个vant组件背景色样式background-color始终无法自定义

检查了几遍官方文档,查csdn和cnblog,还去查了百毒就是没有头绪
无意中再加个 background 居然就成功改色了,想想不能够,仔细看了下原来是单词错误
background-color 写成了 backgroud-color
难怪浏览器调试里出现backgroud-color是未知属性(unknown property value),怎么也不会想到这么熟悉的单词能写错。
...

阅读全文…
package.json的eslintrcr配置项rules里,手动添加’no-mixed-spaces-and-tabs’,然后定义为0,关闭规则
“no-mixed-spaces-and-tabs”:0

attachments/202205/11_172046_c6699555819d47cf9a5777137f5a5745.png