2015-02-07 29 views
3

我需要什麼如何處理特殊符號在樹枝

  • 我需要顯示在視圖頁面特殊符號。

     say name: Sara Fernström oksss. 
    

    PHP代碼

     {% set name=value.metadata.name %} 
    
        <h3> 
    
        {%if name|length < 40 %} 
    
    {% set strategy = 'html' %} 
    
    {% autoescape 'html' %} 
    {{name|escape(strategy)|raw}} 
    {% endautoescape %} 
    

refrence

輸出:

Sara Fernstru00f6m 

但O/P應該是:

Sara Fernström oksss 
+1

你曾經試圖簡單地輸出'{{名}}'?沒有所有這些策略都是逃避的東西? Twig應該從頭開始正確處理字符串。 – 2015-02-07 08:05:57

+1

如果您從數據庫中檢索該值,請檢查該值。 – Matteo 2015-02-07 09:37:28

+0

Hi @ user4041461你有沒有找到解決方案? – Matteo 2015-02-10 15:17:03

回答

0

您需要在正確的字符集的字符串解碼:

{{ data|convert_encoding('UTF-8', 'YourCharset') }} 

數據將是你的字符串時,首先看重的是輸出charset第二個輸入字符集,你也可以看到這個樹枝文檔:http://twig.sensiolabs.org/doc/filters/convert_encoding.html

如果這不起作用,也許嘗試decode你的PHP code裏面的變量:
爲您的代碼會是這樣的,我認爲:

value.metadata.setName(utf8_decode(value.metadata.getName()); 
+0

字符串Sara Fernstru00f6m仍然可見 – afeef 2015-02-07 07:44:13

+0

我需要SaraFernströmoksss應該輸出 – afeef 2015-02-07 07:56:19

+0

您建議OP轉換的UTF-8有什麼問題? – zerkms 2015-02-07 08:29:47

1

你的問題是不是嫩枝,你的問題是與你的頁面和字符串編碼。

確保該字符串在傳遞給Twig之前是UTF-8。 確保文檔是UTF-8。

然後使用

​​

來輸出字符串。

我一直和åöä一起工作(瑞典語),從字面上看,從來不需要使用任何東西。

0

檢查你的數據是如何存儲在與字符集數據庫整理 PARAMS爲例:

namespace Acme\DemoBundle\Entity; 

use Doctrine\ORM\Mapping as ORM; 


/** 
* @ORM\Entity(repositoryClass="MyEntityRepository") 
* @ORM\Table(name="my_entity", 
*  options={"collate"="utf8mb4_unicode_ci", "charset"="utf8mb4"})}) 
*/ 
class MyEntity 
{ 
    .... 

希望這有助於

+0

Hi @ user4041461如果這個或任何答案已解決您的問題,請點擊複選標記考慮[接受它](http://meta.stackexchange.com/q/5234/179419)。這向更廣泛的社區表明,您已經找到了解決方案,併爲答覆者和您自己提供了一些聲譽。沒有義務這樣做。如果您覺得它有用,請考慮提高我的答案 – Matteo 2015-02-16 06:26:31