
マルチバイトの文字を検索して最初に現れる文字までの数を出力させたいのですが、
例えば下記の文、「検」、「国」の場合4と8が出力されなかればならないのに12と24となって
しまいます。他にも「の」や「本」を試してみましたが全て3倍になって返ってきます。
初心者サイトを見てもプログラム自体は問題ないと思うのですがどうして本来出力されるべき数の3倍の数が返ってくるのでしょうか。
ちなみにマルチバイトではなく半角英数字をstrposで検索すると正しい数が表示されました。
マルチバイトの文字列を検索したいのですがどうしても上記のような状況になり解決できません。
どなたか理由に心当たりあるかたいますでしょうか・・。
<?php
$haystack = "日本語の文字列を検索。日本語検索。";
var_dump(mb_strpos($haystack, "文"));
var_dump(mb_strpos($haystack, "検"));
?>
結果
int(12) int(24)
$string = "日本語の文字列を検索。日本語検索。";
$abc73=mb_strpos($string, "の");
echo"$abc73";
結果 9
「の」を「本」にすると結果は3となりなります。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
まぁ環境かえないでもmb系の関数を実行するより前に
mb_internal_encoding("UTF-8");
を実行すればたいてい解決すると思います
http://php.net/manual/ja/function.mb-internal-en …
No.1
- 回答日時:
文字のエンコーディングが正しくセットされていません。
案1:/etc/php.ini に下記を書く。
mbstring.internal_encoding = UTF-8
案2:スクリプトの先頭の方で下記を書く。
ini_set("mbstring.internal_encoding","UTF-8");
案3:mb_strpos($haystack, "文",0,"UTF-8") とする。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- Google+ とっても古いスマホですが、お聞きしたいです。 iPhone8プラスですが、Googleの検索文字を入 3 2023/08/06 08:59
- Excel(エクセル) Excelでの検索結果を含む行だけを表示させたい 5 2023/03/10 17:08
- Visual Basic(VBA) VBA初心者です 検索した数字の行に色をつける 5 2023/02/13 14:22
- Visual Basic(VBA) WordのVBAについて 5 2023/01/11 14:38
- Excel(エクセル) マクロでボタンにつける名前がどこに設定されているかわからないケースがありました。 1 2023/06/19 19:37
- Excel(エクセル) Excelヘルプの原文を表示する最速の方法(手順)には? 1 2023/08/11 11:30
- Java Javaの問題なのですが、「3文字以上の英数字文字列を入力し、文字列の中に文字(9)が出てくるまでの 1 2023/06/06 18:55
- Visual Basic(VBA) VBA 改行コードの取り方 1 2022/03/22 14:14
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
記号全削除のクラスを作成したい
-
ASCII文字列をEUCなどに変換し...
-
PHPでメール受信時にVISTAから...
-
multipart/form-dataの文字化け
-
「あ」→「82A0」のようにshift-...
-
javascript変数をPHP変数に渡し...
-
phpMyAdmin内での文字化け
-
ASCII文字列のgrep
-
mb_regex_encodingでエンコード...
-
PHPスクリプトでエンコードエラー
-
includeファイルの文字コードに...
-
文字変換
-
メールフォームが部分的に文字...
-
mb_ereg_replaceに関して
-
VBAのコマンドボタンの文字列の...
-
1文字のStrConv fromUnicode
-
「半角数字」と「+」を許可する...
-
ファイル入出力について教えて...
-
VBA初心者です。txtファイルの...
-
クリッカブルマップはネスケで...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
文字化け変換方法
-
PHPでのメール差出人名について
-
PostgreSQLからCSV形式でエクス...
-
PHP cURLでPOSTした値が文字化...
-
SJISからUTFに変換して...
-
SJIS→UTF-8変換後の文字化けに...
-
【PHP】mb_convert_encoding...
-
mb_regex_encodingでエンコード...
-
mb_send_mailの2重投稿を防止し...
-
mb_convert_encoding で 一部の...
-
PHPmailerでの添付ファイルの文...
-
includeファイルの文字コードに...
-
switch文の関数化
-
SQL Serverで文字コードUTF-8
-
phpのメールフォームの完了画面...
-
RSSを取得すると文字化けする。
-
Access VBA wiht文での実行時エ...
-
PHPでメール受信時にVISTAから...
-
mail()で送信したメールのタイ...
-
mb_ereg_replaceに関して
おすすめ情報