UTF-8编码URL
|
信息:
我有一个程序可以为Google网站站长工具生成XML站点地图(以及其他功能)。
GWT给某些站点地图带来了错误,因为URL包含诸如¾,ã,ã€等字符序列。**
GWT说:
我们要求您的Sitemaps文件采用UTF-8编码(通常可以在保存文件时执行此操作)。与所有XML文件一样,任何数据值(包括URL)都必须对字符使用实体转义码:&,\',\“,<,>。
特殊字符在XML文件(带有HTML实体)中进行了概括。
XML文件片段:
<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\">
<url>
<loc>http://domain/folder/listing-ã.shtml</loc>
...
我的网址是UTF-8编码的吗?
如果没有,如何用Java做到这一点?
以下是我程序中将URL添加到站点地图中的行:
siteMap.addUrl(StringEscapeUtils.escapeXml(countryName+\"/\"+twoCharFile.getRelativeFileName().toLowerCase()));
** =我不确定是哪个导致错误,可能是前两个示例。
对于所有编辑,我深表歉意。
没有找到相关结果
已邀请:
4 个回复
盛虱
编码网址。
遣莫捅炭
。 在XML文档中发出URI时,它必须符合XML的标记要求。 例如,URI“ 4”变为“ 5”。 “&”号是XML中的转义字符。 您可以在此处找到有关URI编码的详细讨论。
辟官陡板休
嘘伪
)也必须转义。 Jai的答案显示了对任意字符串进行x-url-encode的正确方法。但是请注意,它不会进行XML转义。