直接给URL整体中文字符编码

    public static String encode(String url, String encode)
            throws UnsupportedEncodingException {
        StringBuilder sb = new StringBuilder();
        StringBuilder noAsciiPart = new StringBuilder();
        for (int i = 0; i < url.length(); i++) {
            char c = url.charAt(i);
            if (c > 255) {
                noAsciiPart.append(c);
            } else {
                if (noAsciiPart.length() != 0) {
                    sb.append(URLEncoder.encode(noAsciiPart.toString(), encode));
                    noAsciiPart.delete(0, noAsciiPart.length());
                }
                sb.append(c);
            }
        }
        return sb.toString();
    }

原文地址:https://www.cnblogs.com/nanahome/p/11141170.html

时间: 2024-11-11 02:25:42

直接给URL整体中文字符编码的相关文章

JAVA中文字符编码问题

JAVA的中文字符乱码问题一直很让人头疼.特别是在WEB应用中.网上的分析文章和解决方案都很多,但总是针对某些特定情况的.很多次遇到乱码问 题后, 经过极为辛苦的调试和搜索资料后终于解决,满以为自己已经掌握了对付这些字符乱码怪兽的诀窍.可当过段时间,换了个应用或换了个环境,又会碰到那讨厌的火 星文,并再次无所适从.于是下决心好好整理一下中文字符编码问题,以方便自己记忆,也为其他程序员兄弟们提供一份参考. 首先要了解JAVA处理字符的原理.JAVA使用UNICODE来存储字符数据,处理字符时通常有

OC下Base64编码的中文字符编码问题

Base64是常用的编码规范之一,如网络传输中应用广泛,之前列举过base64编码的原理:<base64举例> 以及java实现的base64编码工具类. 这里,贴出OC下的base64代码,在平台之间通信过程中保证编码能通用——中间出现一个编码问题,google官方提供的base64Util包默认用的Utf-8编码,而中文之前统一用的gbk编码,以下代码修正了这个问题: 关键点:将CommonFunc的 base64StringFromText 和  textFromBase64String

对jsp中Url含中文字符的编码处理

有一段url="/app/index/index.jsp?userName='测试'":在传入到jsp页面后. 用 <%  String userName=request.getParameter("userName"); %> 还是用(struts spring jquery 环境下)  ${param.userName},获取得到都是中文乱码了.所以需要对url进行先编码后再使用.如JS处理: var re = new RegExp('[\u4e00

python3中文字符编码问题

最近在进行网络爬虫时,被中文的编码问题搞得很头疼,特别是在windows环境下. 1.爬取到的中文网页内容,在解析时出现解析错误 一般情况下,我们都是用urllib中的相关函数,进行web页面的爬取,然后进行相关处理. 但是经常在处理中文web时,对文本内容的处理,经常出现一些编码错误. 为了彻底解决这个问题,一般是先编码再解码,但是还是会儿出现一些问题…… 后来,我的解决办法: 使用requests库,很好地支持非英文字符. import requests response = request

mysql 处理中文字符编码乱码

SELECT * FROM demo03; #设置表默认字符编码ALTER TABLE demo03 DEFAULT CHARACTER SET utf8;   INSERT INTO demo03(`id`,`username`)VALUES (6,'李四') #设置字段默认字符编码,保存中文ALTER TABLE `demo03` CHANGE  `name` `username`   VARCHAR(50) CHARACTER SET  utf8; #显示创建表的结构SHOW CREATE

中文字符编码

UTF-8和GBK等中文字符编码格式介绍及相互转换 UTF-8 GBK UTF8 GB2312 之间的区别和关系 字符编码详解

URL中有中文字符,转码方法

服务端返回的urlString里面有时含有中文,使用 [NSURL URLWithString:urlString]生成URL对象时,iOS客户端不能正确进行网络请求,网上找到的URLEncode方法又不能完全解决问题. 方法1: NSString* encodedString = [urlStringstringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 方法2: NSString * encodedString = (

python读取中文字符编码问题

preface:许久没遇到过编码问题,一没注意就被绊倒脚了.. 一.编辑器是以ASICC编码格式的,若想在程序中有中文,需要改为utf-8格式,加入如下代码可破: <span style="font-size:18px;">import sys reload(sys) sys.setdefaultencoding('utf8') </span> 或者参考卤主转载的这篇http://blog.csdn.net/u010454729/article/details/

golang中文字符编码转换

golang 有很多需要将中文转成utf8的 网上搜到一个直接转的,记录下,备用 package main import "golang.org/x/text/encoding/simplifiedchinese" type Charset string const ( UTF8 = Charset("UTF-8") GB18030 = Charset("GB18030") ) func ConvertByte2String(byte []byt