9070

[code]

    $s = "あいう";
    echo mb_strpos($s, "い");
    
[/code]

正しければ「１」が出ると思うのですが、出ません。３になってしまいます。  
調べたところ、文字コードを指定すれば良いとのことでそのようにしたいのですが、どのようにつければ良いのかわかりません。  
どなたかご教授のほど、よろしくお願いいたします。


CC BY-SA 3.0
2015-04-12T04:17:16.657
9064
2015-04-12T05:31:48.977
2015-04-12T05:31:48.977
8000
8464
question
php
mb_strposで文字コードを指定したい


<http://php.net/manual/ja/function.mb-strpos.php>

こちらのドキュメントを見てみますと、mb_strposの4番目の引数に文字コードを指定できるようになっているようです。

[code]

    $s = "あいう";
    echo mb_strpos($s, "い", 0, "UTF-8");
    
[/code]


CC BY-SA 3.0
2015-04-12T05:08:37.890
9068
2015-04-12T05:08:37.890
8351
9064
answer


その場だけ切り抜けたいなら `mb_strpos()` の引数に指定しても構いませんが・・・。

それがソースコードと同じ文字コードなのであれば、他の場所でも使うと思うので
[`mbstring.internal_encoding`](http://php.net/manual/ja/mbstring.configuration.php#ini.mbstring.internal-
encoding) や [`mb_internal_encoding()`](http://php.net/manual/ja/function.mb-
internal-encoding.php) で設定することをお勧めします。

なお、もし `mb_send_mail()` 等を使うのであれば、併せて `mbstring.language` ないし `mb_language()`
の設定も必要です。


CC BY-SA 3.0
2015-04-12T05:31:28.587
9070
2015-04-12T05:31:28.587
8000
9064
answer