2013-10-28 43 views
1

我正在使用laravel 4作爲應用程序,在那裏我想驗證一個包含國家Österreich(奧地利)的窗體。在我的開發服務器它完美,但實際系統上它只是不會,但我無法弄清楚,爲什麼...Laravel Umlaute的驗證

驗證規則很簡單

'land' => array('required',"in:Österreich") 

'land' => 'required','in:Österreich' 

兩個版本上的dev-而不是活的服務器

人誰想通了這一點已經或有線索,我的工作嗎? o.O

+0

可能有一些做服務器的編碼,來檢查編碼在php.ini可能? – SamV

+0

好主意,但它似乎不是原因。我設置爲utf-8並且它仍然不工作:( –

+0

你可以用這個[W3C檢查器](http://validator.w3.org/i18n-checker/)檢查你的頁面,它可以給你提示缺少UTF-8 meta標籤,或者如果你的php文件不是UTF-8編碼 – martinstoeckli

回答

0

我想出了一個與laravel的正則表達式驗證的工作。在這裏你可以做什麼

array('required',"regex:/(Österreich|Italien)/") 

希望工程給大家:)

+0

我仍然想知道問題是什麼:( – SamV

+1

驗證器中的「in」和「regex」之間有區別,請參閱:https://github.com/laravel/framework/blob/4.0/src/Illuminate/Validation/Validator.php#L1560 對於「正則表達式」,返回一個普通數組並使用'preg_match'驗證。「在「驗證對'str_getcsv'確實可以處理參數,將它與一些特殊字符和不同的服務器設置混合在一起,事情就會變得繁榮起來。 –