サイト全体でutf8データを処理する必要があるように、私のサイトは複数の言語をサポートする必要があります。私は、データベースとのやりとりに関してutf8データのcodeigniterを設定する方法を理解しています。私の質問は、utf8エンコーディングを使用しているとき、フォームフィールドのルールのようなものを、codeigniterがどのように扱うのでしょうか?例えば、strlenをutf8に使う場合、strlenは違うので、mb_strlenの代わりにmbstring関数を使う必要があります。 codeigniterには自動的にそれを処理する設定がありますか?そうするためにcodeigniterの中で設定する必要があるものはありますか?CodeIgniterとutf8関数
1
A
答えて
1
それがアクセス可能である場合には、デフォルトでmb_strlen使用しています:するpreg_match関数について
//below default min_length function of CI_Form_Validation lib as an example
/**
* Minimum Length
*
* @access public
* @param string
* @param value
* @return bool
*/
function min_length($str, $val)
{
if (preg_match("/[^0-9]/", $val))
{
return FALSE;
}
if (function_exists('mb_strlen'))
{
return (mb_strlen($str) < $val) ? FALSE : TRUE;
}
return (strlen($str) < $val) ? FALSE : TRUE;
}
は、Unicode修飾子を使用します。
// native CI alpha function:
function alpha($str)
{
return (! preg_match("/^([a-z])+$/i", $str)) ? FALSE : TRUE;
}
// ready for unicode using u modifier in regex pattern
function alpha($str)
{
return (! preg_match("/^([a-z])+$/iu", $str)) ? FALSE : TRUE;
}
0
いいえ、フォーム検証クラスを拡張して、独自の検証関数を使用することができます。
関連する問題
- 1. CodeIgniterグローバル関数
- 2. codeigniterの_remap関数
- 3. codeigniterの関数explode
- 4. CodeIgniterの404関数は、関数はコントローラ
- 5. CodeigniterとタイムゾーンのPHP関数の日付()
- 6. CodeIgniter - プライベート関数へのアクセス?
- 7. codeigniter 3のloadData()関数
- 8. » codeigniter形式の関数
- 9. codeigniter HMVC ajax on update関数
- 10. CodeIgniterでの関数のオーバーロード
- 11. codeigniter redirct関数のエラー
- 12. CodeIgniterカスタム関数配置アドバイス
- 13. Codeigniter:関数の場所
- 14. Codeigniter:関数間で変数を返す
- 15. UTF8とJavascript
- 16. utf8とPHPエラー
- 17. RandomAccesFileとUTF8行
- 18. SQLiteとUTF8
- 19. SetThreadLocaleとUTF8
- 20. RapidxmlとUTF8
- 21. Lua 5.2 - utf8 lower関数 - 純粋なLUA実装ですか?
- 22. CのUTF8文字列関数の内容(
- 23. Codeigniter - php cliのみ参照__construct関数
- 24. Codeigniter - >関数empty_tableを使用
- 25. codeigniterの関数値を持つajax
- 26. CodeIgniter - base_url()関数が動作しない
- 27. メンバー関数への呼び出し - Codeigniter
- 28. コールバック関数がfalseを返すCodeIgniter
- 29. Codeigniter - メンバー関数の呼出し
- 30. 他の関数codeigniterにパラメータを渡す
が、これは他のメガバイトの機能のためのケースですか? – John
これらのほとんどのアプライアンスは存在しません。上記のようなstrlen(max_length、min_length、exact_length)関数、preg_match関数(alpha、alpha_numericなど)を使用する関数があります。これらはunicodeでは機能しませんあなたは簡単に 'u'修飾子を使ってそれらを偽造することができます - 私の編集した答えを確認してください –
@dezcoこれは特にcodeigniterの問題ですか、それとも、stringを実行するためにutf8用に構築された機能? – John