2013-02-21 9 views
1

**問題的Laravel 4的β3顯示:字符串停止後第一accentued字符

的字符串停止第一accentued字符之後顯示**

我在哪裏存儲DVD條目的DB表(標題,導演,...)

的DB是utf_8,整理的標題是utf8_unicode_ci

的database.php中的配置文件指示utf8_unicode_ci ....... 在模型(延伸鋒):

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); ?> 

......... 任何線索。請求幫助。

+0

知道這是怎麼回事會很有趣。如果您在控制器中轉儲'$ entries',數據是否如您所期望的那樣? – juco 2013-02-21 18:36:00

+0

@juco在查詢之後(在控制器中)顯示缺少重音字符的轉儲:
字符串'Reservoir Dogs'(長度= 14)
字符串'M'(長度= 1)而不是'Mépris'
string' Valseuses(Les)'(length = 15)
code:
$ entries = Dvdentry :: where($ field,'like',$ ulike) - > get();
foreach($條目爲$條目){
var_dump($ entry-> title);
}; – user2096663 2013-02-22 08:34:37

+0

OK解決了。從生產數據庫(MySQL 5.0,PHPmyAdmin 2.6.4)複製(導出/導入)到開發數據庫(MySQL 5.5.2.4,PHPmyAdmin 3.5.1)後,我的數據庫已損壞。我還沒有找到爲什麼複製不起作用。 – user2096663 2013-02-22 09:14:30

回答

0

你試過e()幫手嗎?

e() - 在給定字符串上運行htmlentites,並支持UTF-8。

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

檢查Laravel文檔在這一點上:http://laravel.com/docs/helpers#strings

我也猜測,口音引起刀片失敗。嘗試在保存到數據庫之前對標題進行編碼。所以這些重音符號都是用HTML Entities編碼的。

Mépris => M&eacute;pris 
相關問題