有关手机中文问题传输的解决办法

解决KETTLE调用http传输中文参数的问题 场景:检查服务器异常(hive)服务,就通过http发送一条短信到手机上,内容类似:【通知】${START_DATE}_hive服务检测异常${DB_ID},实现的ktr如下: 2016/09/08 15:43:05 - Spoon - 转换已经打开. 2016/09/08 15:43:05 - Spoon - 正在打开转换 [dxl_t]... 2016/09/08 15:43:05 阅读详情
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script> 服务器到客户端: ---------------------------------------------------------------------- 下面代码是服务器端把字符写到Client端,经过gbEncoding()方法,所有的字符编码成:/uXXXX. ---------------------------------------------------------------------- 代码:-------------------------------------------------------------------------------- /** * Write the String data * * @param out * @param value */ public static void writeUnicode(final DataOutputStream out, final String value) throws ActionException { try { final String unicode = StringFormatter.gbEncoding( value ); final byte[] data = unicode.getBytes(); final int dataLength = data.length; System.out.println( "Data Length is: " dataLength ); System.out.println( "Data is: " value ); out.writeInt( dataLength ); out.write( data, 0, dataLength ); } catch (IOException e) { throw new ActionException( IMDefaultAction.class.getName(), e.getMessage() ); } } -------------------------------------------------------------------------------- ---------------------------------------------------------------------- 以下代码是gbEncoding()方法,把双字节字符转换成/uXXXX,ASIIC码在前面补00。 ---------------------------------------------------------------------- /** * This method will encode the String to unicode. * * @param gbString * @return */ 代码:-------------------------------------------------------------------------------- public static String gbEncoding( final String gbString ) { char[] utfBytes = gbString.toCharArray(); String unicodeBytes = ""; for( int byteIndex = 0; byteIndex < utfBytes.length; byteIndex ) { String hexB = Integer.toHexString( utfBytes[ byteIndex ] ); if( hexB.length() <= 2 ) { hexB = "00" hexB; } unicodeBytes = unicodeBytes "//u" hexB; } System.out.println( "unicodeBytes is: " unicodeBytes ); return unicodeBytes; } -------------------------------------------------------------------------------- ---------------------------------------------------------------------- 在客户端收到服务器的数据,先将其一个一个字符解码。双字节显示正常。 ---------------------------------------------------------------------- 代码:-------------------------------------------------------------------------------- /** * This method will decode the String to a recognized String * in ui. * @param dataStr * @return */ private StringBuffer decodeUnicode( final String dataStr ) { int start = 0; int end = 0; final StringBuffer buffer = new StringBuffer(); while( start > -1 ) { end = dataStr.indexOf( "//u", start 2 ); String charStr = ""; if( end == -1 ) { charStr = dataStr.substring( start 2, dataStr.length() ); } else { charStr = dataStr.substring( start 2, end); } char letter = (char) Integer.parseInt( charStr, 16 ); // 16进制parse整形字符串。 buffer.append( new Character( letter ).toString() ); start = end; } return buffer; } -------------------------------------------------------------------------------- ---------------------------------------------------------------------- 客户端到服务器: ---------------------------------------------------------------------- 客户端使用下面方法把手机端的字符编码成ISO-8859-1,传给服务器。 ---------------------------------------------------------------------- 代码:-------------------------------------------------------------------------------- /** * write the String data * @param value * @param outData */ private void writeSjis(DataOutputStream outData, String value) { try { byte[] data = null; // data = ( value ).getBytes( "UTF-8" ); data = ( value ).getBytes( "ISO8859_1" ); outData.writeInt(data.length); outData.write(data, 0, data.length); System.out.println(" data.length: " data.length); System.out.println(" data.value: " value); } catch (Exception ex) { System.out.println(" write error "); ex.printStackTrace(); } } -------------------------------------------------------------------------------- ---------------------------------------------------------------------- 服务器端收到客户端字符流,是用下面方法将其转为UTF-8,以后的操作都是基于UTF-8编码。SQLServer可能会由于内吗不通有不同的变换,所以存取数据库是还要是具体的DB内码作相应的处理。 ---------------------------------------------------------------------- 代码:-------------------------------------------------------------------------------- /** * * @param iso * @return */ public static String isoToUtf( final String iso ) { String utfString = iso; if( iso != null ) { try { utfString = new String( iso.getBytes( "ISO-8859-1" ), "UTF-8" ); } catch ( UnsupportedEncodingException e ) { utfString = iso; } } else { utfString = ""; } return utfString; } 注: 本方法应该不是最有效的,但是只要手机支持unicode的gb2312编码,应该都可以显示正常。 不正之处,请各位到:http://www.ebds.com.cn/bbs/讨论讨论。
Android之解决PC端上传http表单格式文件手机解析文件名乱码问题和PC浏览器下载文件的文件名显示乱码问题 1 问题 问题1、 手机写socket作为服务器,PC浏览器上传http表单格式文件,然后手机端解析携带中文的文件名我解析是乱码。 问题2、 手机写了socket作为服务器,PC浏览器下载文件,但是浏览器里面的文件名有中文的时候会有乱码。 2 分析 问题1分析 User-Agent: PostmanRuntime/7.26.1 Accept: */* Cache-Control: no-cache ... 阅读详情

相关推荐

F28M35新手入门必备

有关TI最新的F28M35的有关资料。中文,有问题联系我

手机的中文问题(节选)

其中手机里面的字符串基本上都是采用的UTF-8的编码法,这种编码的格式介于ASCII和unicode编码法之间,经常碰到的中文问题主要分为以下几种:1.rms数据库读写的问题;2.在jad中书写游戏中文名称并且显示;3.网络传输中中文问题(kxml传输的解码);4.部分的模拟器也不支持中文(比如Nokia 60系列模拟器)。解决第一个问题就是利用writeUTF() 和 readUTF()函数接口

bzjbest的专栏 1389

F28M35开发环境StepByStep

F28M35的硬件手册,特别适合于新手使用,有问题联系我

java发送短信中文乱码,http 短信接口发送短信的时分中文乱码

http 短信接口发送短信的时候中文乱码http短信接口发送短信的时候中文乱码?所有编码格式我都已经统一了,为什么短信乱码分享到:------解决方案--------------------中间传输的时候编码格式(传输工具,类似于tomcat这样的)或者服务器那边只接受特定的一种编码格式。------解决方案--------------------引用:Quote: 引用:中间传输的时候编码格...

weixin_29245767的博客 480

样本不均衡时AUC反而下降?用imbalanced-learn库实战解决分类陷阱

本文探讨了样本不均衡时AUC指标下降的现象,并通过imbalanced-learn库实战演示了如何解决这一分类陷阱。文章详细分析了不同采样技术(如SMOTE、ADASYN)对模型性能的影响,并提供了XGBoost和逻辑回归模型的优化建议,帮助数据科学家在实际项目中做出更明智的决策。

weixin_29174013的博客 343

Web3前沿技术的智能合约安全审计

随着Web3技术的快速发展,智能合约作为区块链应用的核心组件,其安全性问题日益突出。本文旨在系统性地介绍智能合约安全审计的技术体系,帮助开发者理解智能合约安全风险,掌握安全审计的方法论和工具链。智能合约安全的基本概念常见漏洞类型及其原理安全审计的技术方法实际审计案例分析安全审计工具和资源首先介绍基本概念和背景然后分析常见漏洞和安全风险接着详细讲解安全审计技术提供实际案例和代码示例最后讨论工具资源和未来趋势智能合约:运行在区块链上的自执行程序,代码即法律安全审计。

AI天才研究院 1546

手机中文码制问题的一点理解

作者:风过回廊 文章来源:http://www.sf.org.cn 论坛上很多的帖子都是在讨论手机上的中文码制问题,我也曾经被此类的问题所困扰,并且得到了不少热心的朋友的帮助。通过一端时间的资料查找和测试学习,我对这个问题有一点点自己的理解和想法,不敢敝帚自珍,特分享给大家,由于本人水平有限,况且也是业余的开发爱好者,没有专业的理论学习水平,所以请大家就文章中的一些错误予以谅解并提出批评,本篇的文

mobilechannel的专栏 795

ABAP 7.40+新语法实战:用VALUE和REDUCE五分钟搞定复杂内表统计

本文详细介绍了ABAP 7.40+新语法中的VALUE和REDUCE操作符,如何高效处理复杂内表统计任务。通过实战案例展示,这些新语法能将代码量减少70%以上,显著提升开发效率和可读性,特别适合大数据量下的销售数据分析、分组统计等场景。

weixin_27219587的博客 207

手机中文码制问题的一点理解【转载】

作者:zhaofei出处:http://zhaofei8009.blogchina.com/blog/article_55041.502959.html  <!--body2{ font-family: 宋体,tahoma; font-size: 12px;}td2{ font-family: 宋体,tahoma; font-size: 12

1241

机器学习实例(预测房价中位数)(附代码)

1、下载数据: 下载一个压缩文件housing.tgz即可,其包含housing.csv(已经包含书有数据。),用 tax xzf housing.tgz 来解压提取CSV文件。 import os import tarfile import urllib.request DOWNLOAD_ROOT = "https://raw.githubusercontent.com/ageron/handson-ml2/master/" HOUSING_PATH = os.path.join("datasets",

qq_51153436的博客 2758

CentOS 7 安装 Python 3.10

我这里已经软链接了,正常未链接之前是python->python2.7而不是python3.10。python2.7默认安装是在 /usr/bin目录中,切换到/usr/bin/更改yum配置,因为其要用到python2才能执行,否则会导致yum不能正常使用。2. 安装 Python 3.10 必需的 openssl >= 1.1.1。默认的centos7是没有安装pip,先添加epel扩展源。/usr/bin/python 修改为如下。添加软链接,将原来的链接备份。添加python3的软链接。

bensonyang888的博客 2905

网络传输中文编码问题

以下文章复制自http://blog.sina.com.cn/s/blog_7a3510120100xt5b.html 1.要解决中文乱码问题,首先得了解什么是字符编码 计算机要处理各种字符,就需要将字符和二进制内码对应起来,这种对应关系就是字符编码。要制定字符编码首先要确定字符集,并将 字符集内的字符排序,然后和二进制数字对应起来,根据字符集内字符的多少,确定几个字节...

awfp80781的博客 913

告别踩坑!S32K3xx芯片上RTD-SDK的DFLASH与FEE模块配置全流程(基于S32DS)

本文详细解析了在NXP S32K3xx系列MCU上配置RTD-SDK的DFLASH与FEE模块的全流程,基于S32DS开发环境。从Cache配置、Mem_43_InFls模块设置到MemAcc模块的三种调用模式,提供了实战代码示例和常见问题排查表,帮助开发者高效完成存储管理配置,避免常见错误。

weixin_42653691的博客 269

KETTLE调用http传输中文参数的问题

解决中文转码的问题:在"表输入"控件里面输入中文,传输到col1变量里面,出错时,会看到中文需要转码的格式,如下col1=【通知】_hive服务检测异常,这句会被转换成col1=%E3%80%90%E9%80%9A%E7%9F%A5%E3%80%91_hive%E6%9C%8D%E5%8A%A1%E6%A3%80%E6%B5%8B%E5%BC%82%E5%B8%B8;可见http需要接收转码好的URL编码方式,ktr的http控件,就需要改成“http://XXXX?

qq_36551302的博客 1024

VIVADO IP核之FIR插值器多相滤波仿真

网络上有许多文章介绍FIR低通滤波器的使用,包括仿真。关于FIR低通滤波器的使用,我之前的文章已经介绍过了,本文将继续深入介绍FIR插值器多相滤波的使用方法,并将FIR插值多相滤波的结果与MATLAB仿真计算的结果比较,验证了FIR插值器多相滤波使用正确。

m0_66360845的博客 3382

逆向分析-SeparationPreview.aip-分色预览-结构分析(一)-x64dbg条件日志打印-命令表达式-PS脚本

从功能上分析,仅显示使用的专色这个功能,并没有触发插件接口。使用X64dbg加载illustrator进程,切换到句柄窗口,在窗口过程中,右键刷新获取界面。在x64dbg中,在UI中可以输入一些条件表达式,能够计算出对应的值,并打印在日志中。常用的,如果非暂停,输出第一个参数。参数二是utf16的指针,utf16@字符串地址,这里的字符串地址为[[ebp-108]]参数一是utf8的,utf8@字符串地址,这里的字符串地址为[ebp-28]从界面上分析,一个颜色列表,及仅显示专色的多选框组成。

插件开发 644

手机中文码制问题的一点理解(转)

论坛上很多的帖子都是在讨论手机上的中文码制问题,我也曾经被此类的问题所困扰,并且得到了不少热心的朋友的帮助。通过一端时间的资料查找和测试学习,我对这个问题有一点点自己的理解和想法,不敢敝帚自珍,特分享给大家,由于本人水平有限,况...

cuankuangzhong6373的博客 282

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

【Android教程】Android Studio找不到连接的手机完全解决办法

Android Studio找不到连接的手机完全解决办法 1、问题背景 现在Android大多都用谷歌的Android Studio来开发 但是 一开始使用Android Studio都不会那么顺利 总要踩坑 其中踩得最多的坑就是 Android Studio里找不到连接的手机真机 大家都知道Android程序必须要有机子来进行测试运行的 不管是虚拟机还是真机 总要有一个才能看到开发的Andro...

菜鸟的后花园 2万+

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

手机中文字符网络传输的解决方案

由于手机端使用的是UTF-8编码,所以在网络传输中需要进行码制转换,无论是从服务器到客户端,还是客户端到服务器端。下面我写出我的解决方法,该方法在Nokia 7610上运行成功。 思路:将中文字符串转换成Unicode编码格式(即”/uXXXX/uXXXX……”形式)的字符串进行网络传输,在接收后反转换成中文字符串,以便在手机上显示或者存到服务器端数据库中,服务器接收和发送使用ISO8859-1编

飘飘白云 2708

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

手机中文码制问题的一点理解〔转〕

作者:风过回廊  来源:http://www.sf.org.cn论坛上很多的帖子都是在讨论手机上的中文码制问题,我也曾经被此类的问题所困扰,并且得到了不少热心的朋友的帮助。通过一端时间的资料查找和测试学习,我对这个问题有一点点自己的理解和想法,不敢敝帚自珍,特分享给大家,由于本人水平有限,况且也是业余的开发爱好者,没有专业的理论学习水平,所以请大家就文章中的一些错误予以谅解并提出批评,本篇的文

飘飘白云 2055

vnc viewer手机中文版,超好用的5款vnc viewer手机中文版

在平时工作中,经常会用到vnc viewer软件。当软件打开都是英文介绍,真的让人很头痛。在各种各样的vnc viewer手机中文版软件中,要想找到那款让你使用方便的软件,真的很不容易,那在众多的vnc viewer手机中文版中,有哪些好用的软件呢?接下来,让我们大家一起来看看有哪些超好用的vnc viewer手机中文版软件吧。 第一款:IIS7服务器管理软件 作为IIS7服务器管理工具,它支持linux VNC,win VNC,可以实现批量管理,远程监控,批量打开链接,操作一台等于同时操作N台,使用起

DreamerC___的博客 9681

adb命令从电脑传输文件到手机上以后是0kb且无法删除

解决办法:没有办法,下次注意不要只放视频文件且最后一个路径的文件不能是中文。问题:adb命令从电脑传输文件到手机上以后是0kb且无法删除。

weixin_55894212的博客 799
上一篇: BEA WebLogic Integration8.1简介--统一集成环境
下一篇: StringBuffer帮你减轻Java的负担
java169
博客等级 码龄18年 27粉丝 2568原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值