我有一个程序可以为 Google 网站管理员工具(除其他外)生成 XML 站点地图。
GWT 给我提供了某些站点地图的错误,因为 URL 包含字符序列,如 ª、ª、ª 等。 **
站点地图规范说 https://www.sitemaps.org/protocol.html:
您的站点地图文件必须采用 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>
...
我的 URL 是 UTF-8 编码的吗?如果没有,我该如何在 Java 中做到这一点?以下是我的程序中将 URL 添加到站点地图的行:
siteMap.addUrl(StringEscapeUtils.escapeXml(countryName+"/"+twoCharFile.getRelativeFileName().toLowerCase()));
我不确定哪些导致了错误,可能是前两个例子。
尝试使用URLEncoder.encode(stringToBeEncoded, "UTF-8")
对 url 进行编码。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)