CakePHP 2.1:德语变音符号的 Sluggable 行为

Posted

技术标签:

【中文标题】CakePHP 2.1:德语变音符号的 Sluggable 行为【英文标题】:CakePHP 2.1: Sluggable Behavior with German Umlauts 【发布时间】:2012-08-16 00:15:34 【问题描述】:

我正在使用 Marino Iglesias 的 SluggableBehavior 在保存条目的同时生成 slug。 现在,由于我的博客也会有一些德语帖子,所以 slugging 也应该适用于 ä,ü,ö 等元音变音。例如,“Schöne neue Welt”应该变成“schoene-neue-welt”。

现在,它变成了“sch-ne-neue-welt”。我彻底使用 utf-8 作为我的编码 - 文件,数据库,一切,所以这不应该是原因。

我不太明白代码中发生了什么,但是从我在代码中看到的内容来看,应该包括从 ö 到 oe 之间的转换。

有人处理过这种问题吗?

【问题讨论】:

【参考方案1】:

对于任何较新的版本都应该没有问题。

试试这个: https://github.com/dereuromark/cakephp-tools/blob/master/Model/Behavior/SluggedBehavior.php

我在所有项目中使用它都没有问题。

【讨论】:

Cake3 在这里:github.com/dereuromark/cakephp-tools/blob/cake3/src/Model/…【参考方案2】:

根据您的问题,我假设您使用的是 Cake2 兼容版本 CakePHP-Sluggable-Behaviour by pronique。

您可以像这样将选项translation 添加到您的模型中。

var $actsAs = array(
  'Sluggable.Sluggable' => array(
    'translations' => 'utf-8',
  ),
);

这对我也不起作用。我为此提交了bug report,并使用了马克已经推荐的行为。

【讨论】:

以上是关于CakePHP 2.1:德语变音符号的 Sluggable 行为的主要内容,如果未能解决你的问题,请参考以下文章

带有德语变音符号的 NSJSONSerialization 异常

带有德语变音符号的 iOS 上的 FacebookDisplayName

Python2 / Windows7:打开包含德语变音符号的文件名

使用 utf8_general_ci 排序规则和 utf8 字符集服务器的德语变音符号的搜索结果区分大小写

带有变音符号的 xcodebuild 目标名称

如何实现类似MacOS(EN Intl)的德国变音符行为?