小程序wx.uploadFile出现中文无法上传或者出现乱码

详解微信小程序 wx.uploadFile 的编码坑 编写微信小程序时,用到 wx.uploadFile,用来上传图片+文本信息,本篇文章主要介绍了微信小程序 wx.uploadFile 的编码坑,有兴趣的可以了解一下。 立即下载

各位同学小程序中碰到上传图片或者文件时有用到formData的formDataObject否HTTP 请求中其他额外的 form data出现中文无法上传或者出现乱码时可以参考一下这篇跳坑指南微信小程序联盟-uploadFile跳坑指南 里面讲的很 ...

各位同学小程序中碰到上传图片或者文件时有用到formData的 
formData Object 否 HTTP 请求中其他额外的 form data 
出现中文无法上传或者出现乱码时可以参考一下这篇跳坑指南微信小程序联盟-uploadFile跳坑指南 
里面讲的很详细了,这里归纳一下,解决方法: 
在formData中对文字进行编码,使用encodeURI() 
wxml中例:

       
  1. formData: {
  2. name:encodeURI(name),
  3. address:encodeURI(address),
  4. }, // HTTP 请求中其他额外的 form data

上网搜了很多: 
UrlEncode编码/UrlDecode解码使用方法 
UrlEncode编码主要用于将字符串以URL编码,返回一个字符串; 
使用方法: 
1、ASP中的用法:Server.URLEncode(“内容”) 例如:

       
  1. <%response.writeServer.UrlEncode("赖雪平网络营销博客")%>

2、PHP中的用法:urlencode(“内容”) 例如:

       
  1. <?echo urlencode("赖雪平网络营销博客")?>

3、JSP中的用法:URLEncoder.encode(“内容”) 例如:

       
  1. <%java.net.URLEncoder.encode("赖雪平网络营销博客"); %>

UrlDecode解码主要对字符串进行URL解码,返回已解码的字符串; 
1、ASP中的用法:Server.UrlDecode(“内容”) 例如:

       
  1. <%response.writeServer.UrlDecode("%C0%B5%D1%A9%C6%BD%CD%F8%C2%E7%D3%AA%CF%FA%B2%A9%BF%CD")%>

2、PHP中的用法:urldecode(“内容”) 例如:

       
  1. <?echo urldecode("%C0%B5%D1%A9%C6%BD%CD%F8%C2%E7%D3%AA%CF%FA%B2%A9%BF%CD")?>

3、JSP中的用法:URLDecoder.decode(“内容”) 例如:

       
  1. <%java.net.URLDecoder.decode("%C0%B5%D1%A9%C6%BD%CD%F8%C2%E7%D3%AA%CF%FA%B2%A9%BF%CD"); %>

发现没有nodejs后台的,还好皇天不负有心人,找到有用js写的decodeurl函数,给大家分享一下,有用的同学可以看一下。 
js代码:

       
  1. function urldecode (str) {
  2. var hash_map = {}, ret = str.toString(), unicodeStr='', hexEscStr='';
  3. var replacer = function (search, replace, str) {
  4. var tmp_arr = [];
  5. tmp_arr = str.split(search);
  6. return tmp_arr.join(replace);
  7. };
  8. // The hash_map is identical to the one in urlencode.
  9. hash_map["'"] = ''';
  10. hash_map['('] = '(';
  11. hash_map[')'] = ')';
  12. hash_map['*'] = '*';
  13. hash_map['~'] = '~';
  14. hash_map['!'] = '!';
  15. hash_map[' '] = ' ';
  16. hash_map['\u00DC'] = '�';
  17. hash_map['\u00FC'] = '�';
  18. hash_map['\u00C4'] = '�';
  19. hash_map['\u00E4'] = '�';
  20. hash_map['\u00D6'] = '�';
  21. hash_map['\u00F6'] = '�';
  22. hash_map['\u00DF'] = '�';
  23. hash_map['\u20AC'] = '�';
  24. hash_map['\u0081'] = '�';
  25. hash_map['\u201A'] = '�';
  26. hash_map['\u0192'] = '�';
  27. hash_map['\u201E'] = '�';
  28. hash_map['\u2026'] = '�';
  29. hash_map['\u2020'] = '�';
  30. hash_map['\u2021'] = '�';
  31. hash_map['\u02C6'] = '�';
  32. hash_map['\u2030'] = '�';
  33. hash_map['\u0160'] = '�';
  34. hash_map['\u2039'] = '�';
  35. hash_map['\u0152'] = '�';
  36. hash_map['\u008D'] = '�';
  37. hash_map['\u017D'] = '�';
  38. hash_map['\u008F'] = '�';
  39. hash_map['\u0090'] = '�';
  40. hash_map['\u2018'] = '�';
  41. hash_map['\u2019'] = '�';
  42. hash_map['\u201C'] = '�';
  43. hash_map['\u201D'] = '�';
  44. hash_map['\u2022'] = '�';
  45. hash_map['\u2013'] = '�';
  46. hash_map['\u2014'] = '�';
  47. hash_map['\u02DC'] = '�';
  48. hash_map['\u2122'] = '�';
  49. hash_map['\u0161'] = '�';
  50. hash_map['\u203A'] = '�';
  51. hash_map['\u0153'] = '�';
  52. hash_map['\u009D'] = '�';
  53. hash_map['\u017E'] = '�';
  54. hash_map['\u0178'] = '�';
  55. hash_map['\u00C6'] = 'Æ';
  56. hash_map['\u00D8'] = 'Ø';
  57. hash_map['\u00C5'] = 'Å';
  58. for (unicodeStr in hash_map) {
  59. hexEscStr = hash_map[unicodeStr]; // Switch order when decoding
  60. ret = replacer(hexEscStr, unicodeStr, ret); // Custom replace. No regexing
  61. }
  62. // End with d
  63. ecodeURIComponent, which most resembles PHP's encoding functions
  64. ret = decodeURIComponent(ret);
  65. return ret;
  66. }


STM32F103结合HAL库实现蓝牙遥控四麦小车的PID闭环控制 本文详细介绍了如何使用STM32F103结合HAL库实现蓝牙遥控四麦小车的PID闭环控制。从硬件选型、电路搭建到PID算法实现与调参,全面解析了四麦小车的运动控制方案,特别强调了蓝牙通信协议设计和麦轮运动学解算的关键技术。 阅读详情

相关推荐

Cy7c68013A速度测试教程

手里有一个cypress的CY7C68013A模块,一直没空玩。今天便测一下,这个模块的USB2.0速率。 1、开发工具下载 在cypress下载如下开发工具包(开发工具包下载地址) 2、驱动安装 一路Next即可 3、下载CyControl.exe 4、驱动安装 模块连接电脑,此时由于没有安装驱动,在设备管理器中显示未知设备...

LV9586的博客 5895

【详解微信小程序 wx.uploadFile 的编码坑】

但是都没有什么效果,依然是在微信小程序工具中有效,而手机真机预览的时候出现乱码.在看到这篇帖子 【新手跳坑指南《三十九》wx.uploadFile】 才知道header 里的数据在真机预览的时候是无效的,需要改到 formData 中,受到了启发,尝试将编码数据加入formData 中,但仅仅传输了数据,并没有改变编码.依然是小程序开发工具中调试成功,而真机预览出了问题,这个估计要微信团队来回答了。编码有问题,那么就尝试改变它的编码进行传输, uploadFile 的参数中加入。

jerly1943的博客 3538

STM32F4三重ADC+DMA双缓冲实战:用CubeMX搞定同步采样,告别数据覆盖烦恼

本文详细介绍了STM32F4三重ADC与DMA双缓冲技术的实战应用,通过CubeMX配置实现同步采样,解决数据覆盖问题。内容涵盖硬件架构解析、CubeMX工程配置、双缓冲实现技巧及调试优化方法,适用于电机控制、电力监测等需要高精度多通道信号采集的场景。

weixin_30627341的博客 358

小程序php返回中文乱码,小程序wx.uploadFile出现中文无法上传或者出现乱码

各位同学小程序中碰到上传图片或者文件时有用到formData的formData Object 否 HTTP 请求中其他额外的 form data出现中文无法上传或者出现乱码时可以参考一下这篇跳坑指南微信小程序联盟-uploadFile跳坑指南里面讲的很详细了,这里归纳一下,解决方法:在formData中对文字进行编码,使用encodeURI()wxml中例:formData: {name:enco...

weixin_39916479的博客 1602

DICOM三维重建:基于VTK实现三种面绘制算法

版本:VS2019、VTK9.0.1 #define vtkRenderingCore_AUTOINIT 3(vtkInteractionStyle,vtkRenderingFreeType,vtkRenderingOpenGL2) #define vtkRenderingVolume_AUTOINIT 1(vtkRenderingVolumeOpenGL2) #include "vtkDICOMImageReader.h" #include "vtkRenderWindowInteractor.h" #i

一直在笑的博客 5924

STM32--基于STM32F103C8T6的OV7670摄像头显示

使用 STM32F103C8T6 微控制器驱动 OV7670 摄像头模组,并将图像数据显示在屏幕上,是嵌入式系统中常见的图像采集与显示应用。OV7670 是一款 CMOS VGA 图像传感器,具有高灵敏度、低电压等特点,适用于嵌入式应用。而 STM32F103C8T6 是一款常用的 MCU 控制器,具有丰富的管脚资源和较高的工作频率。

duierrorshuobu的博客 2146

微信小程序 wx.uploadFile 的编码坑

编写微信小程序时,用到 wx.uploadFile,用来上传图片+文本信息.然而在编写过程中,由于官方的 demo 和文档描述很少,在几个坑上耗费了不少时间. 这里分享一个和编码有关的.

blog 6万+

国产AI芯片实战:用寒武纪MLU370低成本部署DeepSeek-R1,实测推理效果与成本分析

本文详细介绍了寒武纪MLU370芯片在部署DeepSeek-R1大模型时的实战效果与成本优势。通过实测数据对比,MLU370在推理速度、能效比和本地化服务方面表现突出,尤其适合智能客服、内容生成等场景,可显著降低硬件投入和运维成本。

weixin_30613727的博客 457

微信小程序填坑:上传头像;wx.chooseImage,wx.uploadFile

因为wx.chooseImage,wx.uploadFile的组合十分常见,并且极其容易遇到坑;请作者来检查一下是否有问题,因为我看到原文底下有一堆不明代码。。。 上传头像, 使用wx.chooseImage({})后 在使用wx.uploadFile({})结合起来使用. http://www.wxapp-union.com/portal.php?mod=view&aid=907

大灰狼的小绵羊哥哥的博客 3万+

拆解爆火AI图文日报!用扣子(Coze)工作流,10分钟实现自动化新闻早报

当用户提供一则新闻内容时,仔细分析新闻中的关键信息。提取新闻事件的核心要点,包括事件主体、发生时间、地点、主要情节等。用简洁的语言对新闻进行总结,控制在[X]字以内(可根据实际需求设定字数限制)。若用户提供多条新闻,对比各新闻之间的异同点。从事件类型、影响范围、发展趋势等方面进行分析。综合总结多条新闻的整体情况,以有条理的方式呈现给用户。

一身都是月 2426

RK3588更新NPU驱动的方法

想要在 RK3588 上跑一下 deepseek 的大模型,发现目前的内核提供的 NPU 驱动比较低,无法支持新的大模型,所以需要更新一下我们的 NPU 驱动本次更新的NPU驱动仅适用于RK3588和RK3676系列。

荻夜的博客 2151

微信小程序 wx.uploadFile 返回中文乱码解决方案

这个问题不影响上线,真机一切正常。如果实在介意,用方案二转码即可

weixin_55636632的博客 227

基于DRU-HVDC的构网型海上风电场环流机理仿真复现

本文介绍了基于DRU-HVDC的构网型海上风电场环流机理仿真模型的构建方法。主要内容包括: 完整的Simulink模型结构,包含主模型文件GFM_DRU_Main.slx和配置脚本GFM_DRU_Setup.m 系统参数设置,包括基础频率(20Hz)、电压基准值(690V)、功率基准值(2MVA)等 四种仿真场景配置:电压不平衡、相位不平衡、阻抗不平衡和频率不平衡 风力发电机(WT)子系统的详细构建步骤,包含电压源、输出阻抗和测量模块 变压器和DRU整流器的参数设置 该模型可用于研究构网型风电场的环流机理。

huanghm88的专栏 262

微信小程序 解析单图上传安卓手机上传失败和wx.request上传失败问题

本来是没有这篇博客的,可我发现有很多朋友都调入这个坑里面所以我觉得有必要留下点什么。 1、单图上传安卓手机上传失败     这个问题是我在写第一个项目的时候遇到的问题,因为我是做安卓的本着能做不闲的思想我把公司的微信小程序也接过来了, 如此我从一名移动端在向前端的道路上移动。     当时项目已经完成提交给了测试,测试反馈说这里有问题。我用了微信的工具和我自己的水果机都进行了测试发

Y先僧的博客 6729

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

微信小程序获取小程序码以及小程序码返回参数出现乱码情况的解决

这个在微信官方文档 小程序中有的,本人用了其中一个;因为在使用的途中出现的中文乱码的情况,所以记录一下 首先获取 access_token 用此接口: GET https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET 官方文档中有的,...

Gckkoo的博客 3400

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

用fileupload组件上传文件出现乱码解决方法

用fileupload组件上传文件出现乱码解决方法www.yjyunda.com/art  2006-5-20  星语文章我们用apache的fileupload组件上传文件,如果不做任何出理,通常会出现文件名乱码或普通text文本框值的乱码,那么,我们该如何处理呢?其实,fileupload组件提供了一个设置编码的接口,在没有指定编码时使用系统缺省的encoding,如果需要使用gbk,可以使用...

zsw4522006的博客 1244

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

微信小程序系列-wx.request 请求中文乱码问题

method: "post", header: { 'content-type': 'application/x-www-form-urlencoded;charset=utf-8', // 默认值 'cookie': wx.getStorageSync('Set-Cookie') }, ...

怪只怪满眼尽是人间烟火 4627

记 微信小程序开发中遇到的坑之 wx.uploadFile 的?¤§??????????????? 编码问题(功夫不负有心人)

最近弄微信小程序,在上传图片的时候 遇到了一个编码问题后台拿到的json里中文都变成了 ? ¤§??????????????? 于是乎使出百般解数诸如此类 又或者修改Tomcat配置加上URIEncoding="UTF-8" 等等都没有用 还是感谢这位博主大大https://blog.csdn.net/futurewu/article/details/53436222强势分析一...

b_e_w的博客 728

java 小程序 乱码_小程序wx.uploadFile的跳坑方法(中文乱码)

[AppleScript] 纯文本查看 复制代码function urldecode (str) {var hash_map = {}, ret = str.toString(), unicodeStr='', hexEscStr='';var replacer = function (search, replace, str) {var tmp_arr = [];tmp_arr = str.sp...

weixin_35861708的博客 407

微信小程序传入php中文乱码,小程序wx.uploadFile的跳坑方法(中文乱码)

[AppleScript] 纯文本查看 复制代码function urldecode (str) {var hash_map = {}, ret = str.toString(), unicodeStr='', hexEscStr='';var replacer = function (search, replace, str) {var tmp_arr = [];tmp_arr = str.sp...

weixin_39612540的博客 364

微信小程序填坑之路(三)--上传头像

上传头像, 使用wx.chooseImage({})后 在使用wx.uploadFile({})结合起来使用. 示例代码: Page({ data: { src: "../../image/photo.png", //绑定image组件的src //略... }, onLoad: function (options) { //略... ...

鎏嫣宫守护的博客 9673
上一篇: 微信小程序服务器端获取图像和文本信息
下一篇: 微信小程序页面间的通信
It_BeeCoder
博客等级 码龄10年 967粉丝 238原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值