1

我正在尝试为 JSON 对象中的每个成员动态生成缩略图网格。

每个成员都有一个'title'键和值,当网页加载时,会根据每个成员的标题生成一个URI。这个 URI 成为一个主干.js 对象中的 'img' 属性,它在模板中用于呈现。(见底部的代码)。

我的问题是其中一些标题有重音符号,当网站加载时,缩略图路径中的重音符号变为“x%CC%81”,其中“x”是重音元音。这只发生在我的网络服务器(Apache 2.2.6)上 - 当使用 MAMP(我相信它是 Apache 2.2.26)在本地测试站点时,一切正常。

我在创建字符串路径时尝试使用 decodeURI() ,但无济于事。因此,我认为它与任一服务器有关(因为它在 MAMP 中工作,但在我的网络服务器中不起作用),但我想不出为什么。对我来说,更可能的罪魁祸首是 CSS 无法解析重音符号。

这是为每个项目生成 uris 的主干.js 代码片段:

//For each model in the collection, generate the image uri, 
//where item.getHyphTitle() is the title that may contain accent marks

_.each(this.collection.models, function(item){
        item.set("img", decodeURI('../images/thumbs/' + item.getHyphTitle() + '-thumb.jpg'));
        renderContact(item);
 },this);

这是使用的模板部分:

<div class="work-background" style="background-image:url('<%= img %>');"></div> 

我希望这很清楚 - 提出您可能需要澄清的任何问题。提前感谢您花时间帮助我。

4

1 回答 1

0

看起来您可能有编码错误。一些操作系统支持你正在尝试做的事情(我认为是 OSX),而其他操作系统则不支持。这是有关该问题的太多详细信息的链接:

文件系统、Unicode 和规范化

于 2012-08-28T05:00:36.740 回答