字符串在第一个重音字符后停止显示

时间:2013-02-21 18:25:56

标签: php laravel laravel-4 non-ascii-characters

** Laravel 4 beta 3的问题:

字符串在第一个重音字符后停止显示。**

我有一个数据库表,我存储DVD条目(标题,导演......)

数据库为utf_8,标题的排序规则为utf8_unicode_ci

database.php配置文件指示utf8_unicode_ci ....... 在模型中(扩展Eloquent):

class Dvdentry extends Eloquent {
public $table = 'dvd_entry';
public $timestamps = false;
}

......... 在控制器中:

  $entries=Dvdentry::where($field,'like',$ulike)->get();

........ 在视图中:

 @foreach($entries as $entry)
    <a href={{$entry->imdb_link}} page=_blank>{{$entry->title}}</a>

.... 那应该显示标题列表。 对于具有重音的标题(即Mépris(Le)),只有M是

显示。 我试过没有成功:

 {{{$entry->title}}}
 <?php echo $entry->title; ?>
 <?php echo utf_decode($entry->title); ?>

......... 任何线索。寻求帮助。

1 个答案:

答案 0 :(得分:0)

您是否尝试过e()助手?

  

e() - 在给定字符串上运行htmlentites,支持UTF-8。

$entities = e('<html>foo</html>');

此时检查Laravel文档:http://laravel.com/docs/helpers#strings

我也在猜测重音会导致Blade失败。在保存到数据库之前尝试对标题进行编码。因此,重音符号在HTML实体中编码......

Mépris => M&eacute;pris