HttpURLConnection无法打开含有中文的链接???

问题描述

HttpURLConnection无法打开含有中文的链接???URLurl=newURL(http://192.168.0.154:8080/test/标题.mp3);hc=(HttpURLConnection)url.openConnection()intresCode=hc.getResponseCode();if(resCode==404)thrownewException(sUrl);抛异常!如果http://192.168.0.154:8080/test/标题.mp3换成http://192.168.0.154:8080/test/1.mp3就可以,文件名含中文就报错????

解决方案

解决方案二:
URLurl=newURL(URLEncoder.encode("http://192.168.0.154:8080/test/标题.mp3","UTF-8"));

编码根据具体情况修改,比如GBK
解决方案三:
引用1楼java2000_net的回复:

JavacodeURLurl=newURL(URLEncoder.encode("http://192.168.0.154:8080/test/标题.mp3","UTF-8"));编码根据具体情况修改,比如GBK

java.net.MalformedURLException:noprotocol:http%3A%2F%2F192.168.0.154%3A8080%2Ftest%2F%E6%A0%87%E9%A2%98.mp3
解决方案四:
Url中不能有中文,要转码哦
解决方案五:
引用3楼alexandertech的回复:

Url中不能有中文,要转码哦

+1
解决方案六:
使用UTF-8和GBK都抛下面的异常:java.net.MalformedURLException:noprotocol:http%3A%2F%2F166.111.138.154%3A8080%2Ftest%2F%B1%EA%CC%E2.mp3
解决方案七:
URLurl=newURL("http://192.168.0.154:8080/test/"+URLEncoder.encode("标题.mp3","UTF-8"));

不会变通啊,呵呵!
解决方案八:
URLurl=newURL("http://192.168.0.154:8080/test/"+URLEncoder.encode("标题","UTF-8")+".mp3");

解决方案:
引用7楼java2000_net的回复:

JavacodeURLurl=newURL("http://192.168.0.154:8080/test/"+URLEncoder.encode("标题","UTF-8")+".mp3");

//URLurl=newURL("http://localhost:8080/猫.ico");//URLurl=newURL(URLEncoder.encode("http://localhost:8080/猫.ico","utf-8"));//URLurl=newURL("http://localhost:8080/"+URLEncoder.encode("猫","utf-8")+".ico");//URLurl=newURL("http://localhost:8080/"+newString("猫".getBytes("gb2312"),"iso-8859-1")+".ico");试了,都不好用!
解决方案:
引用7楼java2000_net的回复:JavacodeURLurl=newURL("http://192.168.0.154:8080/test/"+URLEncoder.encode("标题","UTF-8")+".mp3");还是报404的异常
解决方案:
你的tomcat,是不是支持呢?在host里面有个URIEncoding="GBK"或者URIEncoding="UTF-8"这个参数要加上的。换句话说,你的服务器也要支持中文URL才可以。
解决方案:
up求救............
解决方案:
引用10楼java2000_net的回复:

你的tomcat,是不是支持呢?在host里面有个URIEncoding="GBK"或者URIEncoding="UTF-8"这个参数要加上的。换句话说,你的服务器也要支持中文URL才可以。

明白了
解决方案:
这个有,链接本身是没有问题的
解决方案:
在读取任何内容的过程中、java默认的是老外的那一套、所以自己要该下子编码、
解决方案:
谢谢,,解决大问题了,,
解决方案:
用utf8编码
解决方案:
StringurlStr="http://10.10.10.10:8080/servertest/测试下载.pdf";Stringdocname=urlStr.substring(urlStr.lastIndexOf("/")+1);urlStr=urlStr.substring(0,urlStr.lastIndexOf("/"))+"/"+URLEncoder.encode(docname,"utf-8");URLurl=newURL(urlStr);HttpURLConnectionurlConn=(HttpURLConnection)url.openConnection();前面的http://10.10.10.10:8080不要进行转码,只对后面的进行转码就可以了。我遇到的问题是这样解决的。
解决方案:
全部使用这个UTF-8支持中文的
解决方案:
通过本帖子,解决问题,多谢各位。

时间: 2024-07-28 13:14:28

HttpURLConnection无法打开含有中文的链接???的相关文章

为什么点击连接后不能打开服务器上含有中文的文件?

问题描述 为什么点击连接后不能打开服务器上含有中文的文件? 解决方案 解决方案二:我采用的开发环境是:Apache6.0,URIencoding是gb2312MYSQL4.1,default-character-set=gb2312,default-character-set=gb2312在显示的页面的部分代码是:<%@pagecontentType="text/html;charset=GB2312"%><%@pageimport="com.citic.j

编码-htmlparser抓取url的时候,含有中文字符抛出异常

问题描述 htmlparser抓取url的时候,含有中文字符抛出异常 我明确的看了网站的编码是gb2312,并且有设置 parser.setEncoding("gb2312"); 但是最后抛出这个异常 Exception in thread "main" java.lang.IllegalArgumentException 原因是我的url里面含有中文,不知道该怎么结局诶 解决方案 这个可能是htmlparser的弊端吧!还有好几种比较不错的解析html,比如Jso

WordPress上传含有中文文件出现乱码

最近打算学习安装配置WordPress,当然同时也在学习PHP+MySQL,希望以后 能做一些关于WordPress定制和二次开发,包括主题和插件.在成功安装WordPress3.5中文版之后,就测试了一下.其他的功能之前也熟悉一 点,但是今天上传了一个含有中文的docx文档上去,然后点开附件,发现报错.无法下载和查看开始上传的那个文件,因为中文名文件在上传之后出现了乱码. 解决办法如下: 找到/wp-admin/includes/file.php这个文件,并最如下修改: function wp

magento -- 在导出CSV时进行转码以保证用excel打开有中文的CSV文件时不会乱码

Magento有很多数据可以以CSV的格式导出,这一点对国外客户挺好用,但在国内使用就会有问题.对绝大多数不怎么精通电脑的国内用户来说,CSV格式的文件的默认打开方式是Excel,而Magento导出的CSV默认编码为UTF-8,Excel打开带中文的UTF-8编码的CSV时,中文会无法显示全部变乱码.对字符串转编码可以使用iconv函数,因为导出的内容都是数组或多维数组,下面推荐一个可对多维数组进行转码的函数.      protected function d_encodeUTF8($arr

在服务器上部署了一个OnlyOffice运行后在打开的文档区域中只能输入英文,不能切换到中文输入怎么回事?打开一个中文的Word显示出来是乱码怎么解决这些问题?

问题描述 在服务器上部署了一个OnlyOffice运行后在打开的文档区域中只能输入英文,不能切换到中文输入怎么回事?打开一个中文的Word显示出来是乱码怎么解决这些问题?有谁使用过或者解决过这样的问题?不知道.NET大婶是否解决过的问题?实在是干不动了!求分享. 解决方案 解决方案二:是没有中文字典的问题!有谁解决过这个问题码?

wfs-ogr在连接数据源之后,执行ExcuteSQL()方法时,sql语句中含有中文的语法规范?

问题描述 ogr在连接数据源之后,执行ExcuteSQL()方法时,sql语句中含有中文的语法规范? 使用C#调用OGR类库 数据源:将shp文件使用geoserver发布成wfs服务,利用ogr提供的wfs驱动进行调用: 使用的方法:连接wfs服务之后,调用datasource类中的ExcuteSQL(string strsql)方法 问题:当执行的sql语句中含有中文时,则会报语法错误:eg:select * from ceshi where 编码='abc',有大神使用ogr调用wfs服务

检测含有中文字符串的实际长度_基础应用

我们在实际过程中要经常去检测含有中文字符串的实际长度, 因为中文字符,和英文字符在一起的话.判断起来你麻烦点. 原理跟在asp中的一样.逐个去判断.是中文加2英文加1. 复制代码 代码如下: ASCIIEncoding n = new ASCIIEncoding(); byte[] b = n.GetBytes(str); int l = 0; // l 为字符串之实际长度 for (int i=0;i <= b.Length-1;i++) { if (b[i] ==63) //判断是否为汉字或

js检测用户名中是否含有中文汉字

function checkifenglish(string) {     var letters = "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz1234567890_";      var i;      var c;      for( i = 0; i < string.length; i ++ )      {           c = string.charat( i );    if (letters.

NSIS怎么判断安装路径中是否含有中文

问题描述 因为tomcat不允许安装在中文目录下.在用NSIS软件打包成.exe文件后,在安装过程中怎么判断安装的路径是否含有中文,如果含有中文给出提示 解决方案 解决方案二:;安装路径选择页面路径变化时会调用该函数Function.onVerifyInstDirStrCpy$0$INSTDIRStrLen$1$0StrCpy$2'';每个中文会给strlen增加2,所以copy1个字符时,会遇到不可显示字符,会被NSIS自动改成?;正好?本身是非法路径,所以可以用这个来判断路径是否非法${Do