扫描二维码的时候结果显示乱码?实际上多数是输入法被切换到中文状态下的原因,表现为拼音字母会被自动转成中文字符。
可通过两种途径解决:设置二维码扫描枪(参考产品附带的说明书或咨询商家)、修改业务系统里的程序代码。

现在社保与支付宝合作,在支付宝的“城市服务”里即可开通电子市民卡功能。参保人开通电子市民卡后,即可无需携带实体市民卡到药店、诊所或医院看病并用医保购药啦。

同时,支付宝里还可以开通“绑定智慧医疗账户”功能,智慧医疗账户余额不足,用支付宝付款。

去药店买药,通过支付宝里的电子市民卡会动态生成一个二维码(有效时间大约1分钟),使用时请靠近机具刷码。药店收银员通过扫码枪扫描这个二维码,就可以获取参保人员信息进行医保结算。

测试工具

二维码

可通过在线二维码生成器,输入测试文本后生成一个含文本“smk1006568598656abcABC”的测试二维码。

扫码枪

需具备支持二维码扫码识别功能(天猫、京东等平台上都有售)。无论是条码枪还是二维码扫描枪,在扫码结算后都可以替代键盘自动按回车键。

测试演示

如下图,切换到中文输入法(QQ拼音输入法、搜狗输入法都可以)状态下在普通的输入框里扫描二维码,生成一串字符“市民卡1006568598656abcABC”,扫
描结果发现智能输入法会将“smk”自动转成“市民卡”。通过在系统里修改程序代码,再次扫描同样的二维码一切正常。

代码说明

修改页面HTML元素的imeMode属性:
<input style="ime-mode: disabled;" onfocus="this.style.imeMode='disabled'" type="text">

语法:ime-mode:auto | normal | active | inactive | disabled
auto:不影响IME(input method editor)的状态(默认)。
normal:正常的IME状态
active:指定所有使用ime输入的字符。即激活本地语言输入法。用户仍可以撤销激活ime
inactive:指定所有不使用ime输入的字符。即激活非本地语言。用户仍可以撤销激活ime
disabled:完全禁用ime。对于有焦点的控件(如输入框),用户不可以激活ime

功能:设置或检索是否允许用户激活输入中文,韩文,日文等的输入法(IME)状态;该属性用于控制文本域输入法状态,现代浏览器均支持。

无论通过style样式还是js处理效果是一样的。