`
san_yun
  • 浏览: 2602349 次
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

jython的乱码问题

 
阅读更多

最近线上遇到一次乱码问题,记录如下.

使用java client发送的url,其中key_words是乱码:

 

searchService/queryBlog?q=["{\"sort_by\":\"desc\",\"sort\":\"last_replied_datetime\",\"page\":1,\"filter\":[\"-photo_id:0\",\"status:0\",\"-pop_score:0\",\"buyable:0\",\"category:9 OR category:1\"],\"key_words\":\"句子 OR 文字\",\"page_size\":18}"]

 

而python client不会有乱码问题:

searchService/queryBlog?q=["{\"sort\": \"last_replied_datetime\", \"page_size\": 18, \"sort_by\": \"desc\", \"filter\": [\"status:0\", \"category:9 OR category:1\", \"-pop_score:0\", \"-photo_id:0\", \"buyable:0\"], \"key_words\": \"\\u6587\\u5b57 OR \\u53e5\\u5b50\", \"page\": 1}"]

 看了一下python client对参数的处理方式:

        for param in params:
            if param is None:
                param = param
            elif    isinstance(param,(unicode,str,int, float)):
                param = param
            elif isinstance(param,datetime):
                param  = time.mktime(param.timetuple())
            else:
                param = json.dumps(param,cls=DbossObjectEncoder)
            query.append(param)

 可以看到如果是非基本类型会通过json.dumps,原来json.dumps会自动把unicode转换为utf-8:

 

>>> k = {'name':'中文'}
>>> k
{'name': '\xe4\xb8\xad\xe6\x96\x87'}
>>> json.dumps(k)
'{"name": "\\u4e2d\\u6587"}'

 

分享到:
评论

相关推荐

    jython介绍及使用

    自己总结了一下jython的特性。供大家共同学习。 Jython 是一种完整的语言,而不是一个简单的 Java 翻译器或 Python 编译器,它是 Python 在 Java 中的完整实现。由于 Jython 继承了 Java 和 Python 二者的特性从而使...

    jython-standalone-2.7.0(最新版本)

    如果windows的用户安装插件有问题的,尝试一下换这个jython: Jython官网: https://www.jython.org/downloads.html Jython环境安装包: ...

    jython官方jython-standalone-2.7.1b2版本(版本全)

    jython官方正版资源 为了省去大家找Jython安装包的时间,附上此Jython版本。 Jython是一种完整的语言,而不是一个Java翻译器或仅仅是一个Python编译器,它是一个Python语言在Java中的完全实现。

    jython_installer-2.5.2

    Jython是一种完整的语言,而不是一个Java翻译器或仅仅是一个Python编译器,它是一个Python语言在Java中的完全实现。Jython也有很多从CPython中继承的模块库。最有趣的事情是Jython不像CPython或其他任何高级语言,它...

    Burpsuite环境Jython安装方法1

    Burpsuite 环境 Jython 安装by:裁决Jython 介绍Jython 是一种完整的语言,而不是一个 Java 翻译器或仅仅是一个 Python

    jython-2.5.2

    jython-2.5.2jython-2.5.2jython-2.5.2jython-2.5.2jython-2.5.2jython-2.5.2jython-2.5.2jython-2.5.2jython-2.5.2jython-2.5.2jython-2.5.2jython-2.5.2jython-2.5.2jython-2.5.2jython-2.5.2jython-2.5.2jython-...

    jython2.5.4_与jython2.7.0包

    该资源包含jython2.5.4.jar和jython2.7.0.jar,jython的版本要与jdk的版本要对应,这样可以解决“Unsupported major.minor version 51.0”问题。其中,对于jdk1.6.x的版本,请使用jython2.5.4.jar jdk1.7.x的版本,...

    jython各个版本下载地址

    jython各个版本下载地址 版本列表 --------------------------------------------- 2.2/ 19-Oct-2009 07:57 jython-2.2-sources.jar 24-Aug-2007 10:23 682810 jython-2.2-sources.jar.md5 24-Aug-2007 10:23 128 ...

    jython解析xml文件

    jython解析xml文件

    jython写jsp标签

    jython写jsp标签

    jython-installer-2.7.3.jar

    交互式实验-Jython提供了一个交互式解释器,可用于与Java包或运行的Java应用程序交互。这允许程序员使用Jython来实验和调试任何Java系统。 快速应用程序开发——Python程序通常比等效Java程序短2-10倍。这直接转化为...

    jython 2.2.1 下载

    jython 2.2.1 下载 jython 2.2.1 下载 jython 2.2.1 下载 jython 2.2.1 下载

    The Definitive Guide to Jython-Python for the Java Platform

    Jython is an open source implementation of the high-level, dynamic, object-oriented scripting language Python seamlessly integrated with the Java platform. The predecessor to Jython, JPython, is ...

    jython串口控制方法介绍

    压缩包内包含了jython控制串口编程的文档,和必备压缩包。 详细请见文档:jython调用串口模块.doc 有问题请留言。谢谢!

    Jython教程

    Jython 教程 来自IBM developerworks

    jython中文详细教程

    ibm jython中文教程 讲得非常详细

    jython简易教程

    jython简易教程

    jython-standalone-2.7.0.jar,和源码

    jython-standalone-2.7.0.jar,和jython-standalone-2.7.0.jar源码

    jython-standalone-2.7.2.jar

    jython-standalone-2.7.2.jar,java应用调用Python。

    json和jython

    json和jython

Global site tag (gtag.js) - Google Analytics