サイト全体で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とタイムゾーンのPHP関数の日付()
- 4. CodeIgniterでの関数のオーバーロード
- 5. CodeIgniterカスタム関数配置アドバイス
- 6. codeigniter HMVC ajax on update関数
- 7. メンバー関数への呼び出し - Codeigniter
- 8. CodeIgniterの関数呼び出し404
- 9. Codeigniter - >関数empty_tableを使用
- 10. SQLiteとUTF8
- 11. utf8とPHPエラー
- 12. RapidxmlとUTF8
- 13. SetThreadLocaleとUTF8
- 14. UTF8とJavascript
- 15. CのUTF8文字列関数の内容(
- 16. Codeigniterが複数のコントローラ関数に変数を渡す
- 17. 正準タグとUTF8
- 18. QLPreviewControllerとUTF8文字
- 19. ビュー内の関数内のCodeigniterデータ変数
- 20. mb_strtolowerとUTF8文字列
- 21. UTF8とDoctrine全文検索
- 22. クエリの数codeigniter
- 23. Codeigniterグローバル変数
- 24. など、printfの()のようなUTF8対応のフォーマット関数を探して
- 25. codeigniter doctrine多対多関係
- 26. CodeIgniter多対多関係
- 27. PHPのfgetcsvと整数変換(UTF8 X UCS-2リトルエンディアン)
- 28. UTF8ビン
- 29. Codeigniter URLの問題!リフレッシュを押すと、関数が実行されます!
- 30. Codeigniter - 複数のアップロードとファイル情報
が、これは他のメガバイトの機能のためのケースですか? – John
これらのほとんどのアプライアンスは存在しません。上記のようなstrlen(max_length、min_length、exact_length)関数、preg_match関数(alpha、alpha_numericなど)を使用する関数があります。これらはunicodeでは機能しませんあなたは簡単に 'u'修飾子を使ってそれらを偽造することができます - 私の編集した答えを確認してください –
@dezcoこれは特にcodeigniterの問題ですか、それとも、stringを実行するためにutf8用に構築された機能? – John