客户反馈之前做的一个专题,有个用户报名数据没有正确写入。简单介绍下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报错问题相关推荐

  1. scrapy 整合 djangoitem,摆脱保存数据时SQL报错的困扰

    这里有一个官方的链接,虽然说的并不完整,但是思路讲解的还是很不错的:https://pypi.python.org/pypi/scrapy-djangoitem/1.1.1 这里我做了一个小案例,会一 ...

  2. 在Linux执行命令报错”Arg list too long”的原因分析

    http://www.yunweipai.com/archives/558.html 在Linux执行命令报错"Arg list too long"的原因分析 吞拿鱼手卷 于 3 ...

  3. 达梦 DM 执行SQL报字符串截断如何分析定位/超长文本截取

    达梦 DM 执行SQL报字符串截断如何分析定位/超长文本截取 DM数据库报字符串截断 1 .执行INSERT时报错 一般此类问题是由于目标表存在一个(或多个)字段长度不够,导致插入失败.重点关注CHA ...

  4. JavaScript立即执行函数报错--立即执行函数原理分析

    JavaScript立即执行函数报错 1.'()'在JavaScript环境中有提升运算符优先级和执行函数的作用如果直接在JavaScript环境中执行'()',环境会报出语法错误提示. 2.'()' ...

  5. flink实时写入数据到 clickhouse 报错Could not initialize class ru.yandex.clickhouse.ClickHouseUtil

    问题介绍: 项目在使用clickhouse jdbc 将flink数据实时写入clickhouse时候,报错: Caused by: java.lang.NoClassDefFoundError: C ...

  6. 微信小程序 渲染层网络错误_小程序使用video报错 渲染层网络层错误

    我用官方的文档,就换了个图片和视频地址.报错渲染层网络层错误.视频可以看,功能也可以用,但是看到这报错,台烦人了. https://uniapp.dcloud.io/component/cover-v ...

  7. 微信公众号开发上传图文素材带有卡片小程序报错:errcode=45166,errmsg = invalid content hint...

    微信公众号开发自从支持允许在群发图文中插入小程序,方便了小程序的运营及推广.最近在三方服务开发中,要支持图文素材插入小程序遇到了一个很是棘手的问题.官方给出的插入小程序的示例支持文字.图片.卡片.如下 ...

  8. linux命令报错,在Linux执行命令报错”Arg list too long”的原因分析 – 运维派

    最近在SUSE LINUX操作系统中遇到个问题:在一个包含上万个文件的文件夹中执行rm *删除所有文件时报错"Arg list too long",最后导致删除失败.后来查了下资料 ...

  9. 微信小程序分享到朋友圈,在朋友圈打开报错 error code -501023

    未登录模式 | 微信开放文档 未登录模式即无登录态的模式,在未登录模式中,不存在用户的登录态.未登录模式的场景有如: 单页模式:小程序/小游戏分享到朋友圈被打开时 Web 未登录模式:没有登录的 We ...

最新文章

  1. 如何把更改后的dll图标还原回来?
  2. java ee期末项目相关
  3. idea创建springcloud主工程和springboot子项目
  4. PHP FTP操作类( 上传、拷贝、移动、删除文件/创建目录 )
  5. .Net Discovery 系列之三--深入理解.Net垃圾收集机制(上)
  6. 微信公众平台开发(75) 语音识别
  7. EDA设计流程是怎样的,看完这篇文章就知道了
  8. Qt调用工业相机之海康威视相机
  9. iPhone - 不能读取文件 iTunes.Library.itl 因为它是由更高级别的 iTunes 所创建
  10. eNSP下的vlan划分实验
  11. 计算机二级试题aoa,计算机二级AOA理论题库
  12. hadoop可以解决什么问题_CC光嫩肤 可以解决什么皮肤问题?
  13. RabbitMQ学习笔记 - mandatory参数
  14. java字符下落,重力球,加速下落减速上弹,重力下落,这段代码是看到网上一个关...
  15. 高级SQL查询实战(经验总结)
  16. Android-自定义桌面小部件【完成小米MIUI小部件】
  17. TestNG框架的常会用注释及属性
  18. 不算缺钱的理想汽车通过港交所聆讯,深陷“水银门”泥潭难以自救
  19. OllyDbg、IDA、WINDBG
  20. OpenNMS和商业开源网管软件SugarNMS的比较

热门文章

  1. 微信那些词语发不出去
  2. 天猫和淘宝有什么区别
  3. android wifi 问题是什么意思,如何解决WiFi连接问题故障在Android中为更好的互联网...
  4. SpringBoot和Mybatis实现评论楼中楼功能(一张表搞定)
  5. ListView Item 选择问题解决之道
  6. 记一次养生课笔记——养生保健:你是哪种体质?
  7. MySQL课程2.表的各种查询
  8. 关于零基础学员参加达梦DCA认证考试的一点心得
  9. 解决phpcms v9搜索结果不全或搜索不到内容(不再使用分词进行搜索,而是直接使用输入的关键字搜索)
  10. python getchar函数_C++:getchar()函数的用法,Cgetchar