簡體   English   中英

從UTF8到iso-8859-1的Laravel 4.2應用程序編碼

[英]Laravel 4.2 application encoding from UTF8 to iso-8859-1

該數據庫基於MSSql,Laravel正在成功與其進行對話。 數據庫基於latin2編碼,因此我的Laravel應用必須為iso-8859-1,而不是UTF-8。 好像整個laravel都在喊UTF8。 我在配置文件中找不到任何內容。

我已將連接字符串中的數據庫編碼更改為late1,但這仍然沒有任何改變。

當從VB桌面應用程序輸入一個條目(我的同事正在研究這個條目)並且他將一個£符號保存到db時,它就可以了,盡管當我嘗試閱讀它給我符號時。

另一方面,如果來自Form :: open標記,則在數據庫中創建一個條目,£帶有一些奇怪的前綴!

另外,我已經將<meta charset="iso-8859-1">添加到網站的html標簽中,但是當我進入Firefox瀏覽器查看頁面信息時,仍然告訴我該網站位於UTF8中。 我嘗試將某些文件更改為西方編碼(Sublime另存為->具有格式),例如index.php,routes.php,但網站仍顯示為UTF8 ...

任何幫助/建議將不勝感激。

為了解決這個問題,我做了以下工作:

  • 在第106行中更改了表單助手/project/vendor/laravel/framework/src/llluminate/Html/FormBuilder.php

這個:

$attributes['accept-charset'] = 'UTF-8';

至:

    $attributes['accept-charset'] = 'latin1';

這樣,所有形式都歸因於數據庫權限符號。 在此之后,因為我的應用程序不大,所以我創建了幫助程序,將給定的字符串從lateing1轉換為UTF8,如下所示:

public static function convertToUtf8($string){
    return $converted = iconv ('latin1' , 'utf-8' , $string);
}

而且一切正常:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM