php微信昵称保存,分析一次写入微信昵称数据执行sql报错问题
客户反馈之前做的一个专题,有个用户报名数据没有正确写入。简单介绍下h5功能,类似报名功能,微信下授权后获取到openid、nichname,之后填写姓名并选择所在城市等信息,提交表单信息。其他用户填写都是正常的,通过用户反馈过来,用户昵称为“橙澄僜”。通过调试发现,这个昵称字符串转换为gbk编码后,再通过addslashes转义,字符串末尾会出现反斜线(\)。造成拼接的sql出现解析错误。
header("Content-Type:text/html;charset=gbk");
$ss='橙澄僜';
$ss2=iconv('utf-8','gbk//ignore',$ss);
$nickname=base64_encode($ss2);
var_dump($ss2,$nickname,base64_decode('s8izzoNc'));
$sql="insert into test (nickname,name) values ('$nickname','test')";
var_dump($sql);
//--输出结果
/*
string(6) "橙澄僜" string(8) "s8izzoNc" string(6) "橙澄僜" string(59) "insert into test (nickname,name) values ('s8izzoNc','test')"
*/
ps:文件编码为utf-8,数据库表test编码为gbk,所以要帮nickname转为gbk编码
解决方案:
1、数据库表改为utf8编码保存
2、nickname字段值先通过base64_encode编码下,调取时在通过base64_decode还原下
3、判断nickname转义后的字符串,如果末尾有反斜线的,帮nickname变量值设置为空。
php微信昵称保存,分析一次写入微信昵称数据执行sql报错问题相关推荐
- scrapy 整合 djangoitem,摆脱保存数据时SQL报错的困扰
这里有一个官方的链接,虽然说的并不完整,但是思路讲解的还是很不错的:https://pypi.python.org/pypi/scrapy-djangoitem/1.1.1 这里我做了一个小案例,会一 ...
- 在Linux执行命令报错”Arg list too long”的原因分析
http://www.yunweipai.com/archives/558.html 在Linux执行命令报错"Arg list too long"的原因分析 吞拿鱼手卷 于 3 ...
- 达梦 DM 执行SQL报字符串截断如何分析定位/超长文本截取
达梦 DM 执行SQL报字符串截断如何分析定位/超长文本截取 DM数据库报字符串截断 1 .执行INSERT时报错 一般此类问题是由于目标表存在一个(或多个)字段长度不够,导致插入失败.重点关注CHA ...
- JavaScript立即执行函数报错--立即执行函数原理分析
JavaScript立即执行函数报错 1.'()'在JavaScript环境中有提升运算符优先级和执行函数的作用如果直接在JavaScript环境中执行'()',环境会报出语法错误提示. 2.'()' ...
- flink实时写入数据到 clickhouse 报错Could not initialize class ru.yandex.clickhouse.ClickHouseUtil
问题介绍: 项目在使用clickhouse jdbc 将flink数据实时写入clickhouse时候,报错: Caused by: java.lang.NoClassDefFoundError: C ...
- 微信小程序 渲染层网络错误_小程序使用video报错 渲染层网络层错误
我用官方的文档,就换了个图片和视频地址.报错渲染层网络层错误.视频可以看,功能也可以用,但是看到这报错,台烦人了. https://uniapp.dcloud.io/component/cover-v ...
- 微信公众号开发上传图文素材带有卡片小程序报错:errcode=45166,errmsg = invalid content hint...
微信公众号开发自从支持允许在群发图文中插入小程序,方便了小程序的运营及推广.最近在三方服务开发中,要支持图文素材插入小程序遇到了一个很是棘手的问题.官方给出的插入小程序的示例支持文字.图片.卡片.如下 ...
- linux命令报错,在Linux执行命令报错”Arg list too long”的原因分析 – 运维派
最近在SUSE LINUX操作系统中遇到个问题:在一个包含上万个文件的文件夹中执行rm *删除所有文件时报错"Arg list too long",最后导致删除失败.后来查了下资料 ...
- 微信小程序分享到朋友圈,在朋友圈打开报错 error code -501023
未登录模式 | 微信开放文档 未登录模式即无登录态的模式,在未登录模式中,不存在用户的登录态.未登录模式的场景有如: 单页模式:小程序/小游戏分享到朋友圈被打开时 Web 未登录模式:没有登录的 We ...
最新文章
- 如何把更改后的dll图标还原回来?
- java ee期末项目相关
- idea创建springcloud主工程和springboot子项目
- PHP FTP操作类( 上传、拷贝、移动、删除文件/创建目录 )
- .Net Discovery 系列之三--深入理解.Net垃圾收集机制(上)
- 微信公众平台开发(75) 语音识别
- EDA设计流程是怎样的,看完这篇文章就知道了
- Qt调用工业相机之海康威视相机
- iPhone - 不能读取文件 iTunes.Library.itl 因为它是由更高级别的 iTunes 所创建
- eNSP下的vlan划分实验
- 计算机二级试题aoa,计算机二级AOA理论题库
- hadoop可以解决什么问题_CC光嫩肤 可以解决什么皮肤问题?
- RabbitMQ学习笔记 - mandatory参数
- java字符下落,重力球,加速下落减速上弹,重力下落,这段代码是看到网上一个关...
- 高级SQL查询实战(经验总结)
- Android-自定义桌面小部件【完成小米MIUI小部件】
- TestNG框架的常会用注释及属性
- 不算缺钱的理想汽车通过港交所聆讯,深陷“水银门”泥潭难以自救
- OllyDbg、IDA、WINDBG
- OpenNMS和商业开源网管软件SugarNMS的比较
热门文章
- 微信那些词语发不出去
- 天猫和淘宝有什么区别
- android wifi 问题是什么意思,如何解决WiFi连接问题故障在Android中为更好的互联网...
- SpringBoot和Mybatis实现评论楼中楼功能(一张表搞定)
- ListView Item 选择问题解决之道
- 记一次养生课笔记——养生保健:你是哪种体质?
- MySQL课程2.表的各种查询
- 关于零基础学员参加达梦DCA认证考试的一点心得
- 解决phpcms v9搜索结果不全或搜索不到内容(不再使用分词进行搜索,而是直接使用输入的关键字搜索)
- python getchar函数_C++:getchar()函数的用法,Cgetchar