質問編集履歴
13
「試したこと 6」を修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -66,8 +66,8 @@
|
|
66
66
|
まさか「画面上の`1`を`7`に置換する」というJavaScriptでも動いているのか?と思い、ブラウザでJavaScriptを停止しましたが、さすがにそんなスクリプトはなかったようです。
|
67
67
|
|
68
68
|
##### 試したこと 6(コマンドで実行)
|
69
|
-
Teratermから以下実行しました
|
69
|
+
Teratermから以下コードをコピペし実行しました。`'abc'`の方は普通に`3`ですが、`'🏴'`の方はペースト時に`??????????????`になってしまい`14`となり、どうやらコマンドでは絵文字は使えないようでした。
|
70
|
-
```
|
70
|
+
```Teraterm
|
71
71
|
php -r "echo grapheme_strlen('abc'),PHP_EOL;" //3
|
72
72
|
php -r "echo grapheme_strlen('🏴'),PHP_EOL;" //14
|
73
73
|
```
|
12
画像差し替え
test
CHANGED
File without changes
|
test
CHANGED
@@ -118,7 +118,7 @@
|
|
118
118
|
##### 試したこと 9(index.phpで実行)
|
119
119
|
WordPressを介さずpublic_html直下のindex.phpで実行しました。これもマニュアルをコピペした5行のみを記載しましたが、変化は見られませんでした。
|
120
120
|
|
121
|
-
![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-09-18/e
|
121
|
+
![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-09-18/65e5526b-a604-47bb-9be2-9d3c84403cd6.jpeg)
|
122
122
|
|
123
123
|
### 補足情報(FW/ツールのバージョンなど)
|
124
124
|
尚、ご参考になるかわかりませんが、Xサーバーを利用しWordPress上で実行しブラウザで結果を確認しています。
|
11
「試したこと 1」と「試したこと 9」に図を追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -22,8 +22,16 @@
|
|
22
22
|
|
23
23
|
### 試したこと
|
24
24
|
##### 試したこと 1(コードの確認)
|
25
|
-
まずコピペミスを懸念し、改めてコピペしましたが変化なしでした。
|
25
|
+
まずマニュアルのコピペミスを懸念し、改めてコピペしましたが変化なしでした。
|
26
26
|
これは「質問への追記・修正の依頼」で m.ts10806様 から改めて確認するようご指摘頂き、再三のコピペで確認致しました。
|
27
|
+
|
28
|
+
そのコピペの結果は下図です。
|
29
|
+
![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-09-18/576b18c9-b5fe-4420-a2bb-662f191779bc.jpeg)
|
30
|
+
|
31
|
+
ちなみに3v4lにマニュアルをコピペするとこうなります。
|
32
|
+
https://3v4l.org/QXCFu
|
33
|
+
|
34
|
+
以上みなさんがされても同様だと思いますので、コピペミスは考えにくい思います。
|
27
35
|
|
28
36
|
##### 試したこと 2(バージョンの確認)
|
29
37
|
次にphpバージョンを確認すると 8.0.16 で問題はなさそうでした。
|
@@ -110,6 +118,8 @@
|
|
110
118
|
##### 試したこと 9(index.phpで実行)
|
111
119
|
WordPressを介さずpublic_html直下のindex.phpで実行しました。これもマニュアルをコピペした5行のみを記載しましたが、変化は見られませんでした。
|
112
120
|
|
121
|
+
![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-09-18/e4bf9a5d-6ecb-425f-ab40-2118b9f93d3a.jpeg)
|
122
|
+
|
113
123
|
### 補足情報(FW/ツールのバージョンなど)
|
114
124
|
尚、ご参考になるかわかりませんが、Xサーバーを利用しWordPress上で実行しブラウザで結果を確認しています。
|
115
125
|
|
10
「試したこと 7」にphp.iniの内容を加筆
test
CHANGED
File without changes
|
test
CHANGED
@@ -65,6 +65,7 @@
|
|
65
65
|
```
|
66
66
|
|
67
67
|
##### 試したこと 7(文字コード確認)
|
68
|
+
###### phpの実行で確認
|
68
69
|
次のコードを実行しましたが、UTF-8で問題ないように思われます。
|
69
70
|
```php
|
70
71
|
// デフォルトの判定可能な文字コード
|
@@ -89,8 +90,13 @@
|
|
89
90
|
🏴:UTF-8
|
90
91
|
*/
|
91
92
|
```
|
93
|
+
|
94
|
+
###### エディタで確認
|
92
95
|
尚、下図のようにエディタ(Notepad++)の文字コードも「UTF-8」でしたので、PHPファイル自体の文字コードも問題ないと思われます。
|
93
96
|
![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-09-18/ef758bc1-c75f-4266-9a1b-8150065d21d6.png)
|
97
|
+
|
98
|
+
###### php.iniで確認
|
99
|
+
さらにXサーバーの管理画面からphp.iniを見てみましたが、`default_charset = UTF-8`と`mbstring.internal_encoding = UTF-8`で、これも問題なさそうです。
|
94
100
|
|
95
101
|
##### 試したこと 8(他の Grapheme 関数)
|
96
102
|
[Grapheme 関数が他にいくつかございました](https://www.php.net/manual/ja/ref.intl.grapheme.php)ので、以下を実行してみました。おそらく本来は同じ値になるはずですが、こちらもおかしかったです。
|
9
誤字訂正
test
CHANGED
File without changes
|
test
CHANGED
@@ -102,7 +102,7 @@
|
|
102
102
|
```
|
103
103
|
|
104
104
|
##### 試したこと 9(index.phpで実行)
|
105
|
-
WordPressを介さず
|
105
|
+
WordPressを介さずpublic_html直下のindex.phpで実行しました。これもマニュアルをコピペした5行のみを記載しましたが、変化は見られませんでした。
|
106
106
|
|
107
107
|
### 補足情報(FW/ツールのバージョンなど)
|
108
108
|
尚、ご参考になるかわかりませんが、Xサーバーを利用しWordPress上で実行しブラウザで結果を確認しています。
|
8
「試したこと 7」にエディタの文字コードの内容を加筆
test
CHANGED
File without changes
|
test
CHANGED
@@ -89,6 +89,8 @@
|
|
89
89
|
🏴:UTF-8
|
90
90
|
*/
|
91
91
|
```
|
92
|
+
尚、下図のようにエディタ(Notepad++)の文字コードも「UTF-8」でしたので、PHPファイル自体の文字コードも問題ないと思われます。
|
93
|
+
![イメージ説明](https://ddjkaamml8q8x.cloudfront.net/questions/2022-09-18/ef758bc1-c75f-4266-9a1b-8150065d21d6.png)
|
92
94
|
|
93
95
|
##### 試したこと 8(他の Grapheme 関数)
|
94
96
|
[Grapheme 関数が他にいくつかございました](https://www.php.net/manual/ja/ref.intl.grapheme.php)ので、以下を実行してみました。おそらく本来は同じ値になるはずですが、こちらもおかしかったです。
|
7
「試したこと 9」の追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -99,8 +99,10 @@
|
|
99
99
|
//f09f8fb4
|
100
100
|
```
|
101
101
|
|
102
|
+
##### 試したこと 9(index.phpで実行)
|
103
|
+
WordPressを介さずドメイン直下のindex.phpで実行しました。これもマニュアルをコピペした5行のみを記載しましたが、変化は見られませんでした。
|
102
104
|
|
103
105
|
### 補足情報(FW/ツールのバージョンなど)
|
104
|
-
尚、ご参考になるかわかりませんが、Xサーバーを利用しWordPress上で実行しています。
|
106
|
+
尚、ご参考になるかわかりませんが、Xサーバーを利用しWordPress上で実行しブラウザで結果を確認しています。
|
105
107
|
|
106
108
|
原因、解決策、他に試すべき事柄などについて思い当たることがございましたら、ご回答宜しくお願い致します。
|
6
「試したこと 8」の追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -60,7 +60,7 @@
|
|
60
60
|
##### 試したこと 6(コマンドで実行)
|
61
61
|
Teratermから以下実行しましたが`'abc'`は普通に`3`で、`'🏴'`の方はペースト時に`??????????????`になってしまい`14`でした。
|
62
62
|
```php
|
63
|
-
php -r "echo grapheme_strlen('abc'),PHP_EOL;" //
|
63
|
+
php -r "echo grapheme_strlen('abc'),PHP_EOL;" //3
|
64
64
|
php -r "echo grapheme_strlen('🏴'),PHP_EOL;" //14
|
65
65
|
```
|
66
66
|
|
@@ -90,6 +90,16 @@
|
|
90
90
|
*/
|
91
91
|
```
|
92
92
|
|
93
|
+
##### 試したこと 8(他の Grapheme 関数)
|
94
|
+
[Grapheme 関数が他にいくつかございました](https://www.php.net/manual/ja/ref.intl.grapheme.php)ので、以下を実行してみました。おそらく本来は同じ値になるはずですが、こちらもおかしかったです。
|
95
|
+
```php
|
96
|
+
echo bin2hex('🏴');
|
97
|
+
//f09f8fb4f3a081a7f3a081a2f3a081a5f3a081aef3a081a7f3a081bf
|
98
|
+
echo bin2hex(grapheme_substr('🏴',0,1));
|
99
|
+
//f09f8fb4
|
100
|
+
```
|
101
|
+
|
102
|
+
|
93
103
|
### 補足情報(FW/ツールのバージョンなど)
|
94
104
|
尚、ご参考になるかわかりませんが、Xサーバーを利用しWordPress上で実行しています。
|
95
105
|
|
5
「試したこと 7」を追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -64,6 +64,32 @@
|
|
64
64
|
php -r "echo grapheme_strlen('🏴'),PHP_EOL;" //14
|
65
65
|
```
|
66
66
|
|
67
|
+
##### 試したこと 7(文字コード確認)
|
68
|
+
次のコードを実行しましたが、UTF-8で問題ないように思われます。
|
69
|
+
```php
|
70
|
+
// デフォルトの判定可能な文字コード
|
71
|
+
print_r(mb_detect_order());
|
72
|
+
|
73
|
+
// 文字コード確認
|
74
|
+
$utf8s = ['テスト','🏴'];
|
75
|
+
foreach( $utf8s as $utf8 ){
|
76
|
+
echo $utf8 . ':' . mb_detect_encoding($utf8).PHP_EOL;
|
77
|
+
}
|
78
|
+
|
79
|
+
/*
|
80
|
+
Array
|
81
|
+
(
|
82
|
+
[0] => ASCII
|
83
|
+
[1] => JIS
|
84
|
+
[2] => UTF-8
|
85
|
+
[3] => EUC-JP
|
86
|
+
[4] => SJIS
|
87
|
+
)
|
88
|
+
テスト:UTF-8
|
89
|
+
🏴:UTF-8
|
90
|
+
*/
|
91
|
+
```
|
92
|
+
|
67
93
|
### 補足情報(FW/ツールのバージョンなど)
|
68
94
|
尚、ご参考になるかわかりませんが、Xサーバーを利用しWordPress上で実行しています。
|
69
95
|
|
4
試したこと 6 を追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -47,8 +47,7 @@
|
|
47
47
|
##### 試したこと 3(関数の有無を確認)
|
48
48
|
`grapheme_strlen`の有無を確認しましたが以下問題なく`true`でした。
|
49
49
|
```php
|
50
|
-
var_dump( function_exists('grapheme_strlen') );
|
50
|
+
var_dump( function_exists('grapheme_strlen') ); //true
|
51
|
-
// -> bool(true)
|
52
51
|
```
|
53
52
|
|
54
53
|
##### 試したこと 4(バージョンの変更)
|
@@ -58,6 +57,13 @@
|
|
58
57
|
##### 試したこと 5(JavaScriptの停止)
|
59
58
|
まさか「画面上の`1`を`7`に置換する」というJavaScriptでも動いているのか?と思い、ブラウザでJavaScriptを停止しましたが、さすがにそんなスクリプトはなかったようです。
|
60
59
|
|
60
|
+
##### 試したこと 6(コマンドで実行)
|
61
|
+
Teratermから以下実行しましたが`'abc'`は普通に`3`で、`'🏴'`の方はペースト時に`??????????????`になってしまい`14`でした。
|
62
|
+
```php
|
63
|
+
php -r "echo grapheme_strlen('abc'),PHP_EOL;" // 3
|
64
|
+
php -r "echo grapheme_strlen('🏴'),PHP_EOL;" //14
|
65
|
+
```
|
66
|
+
|
61
67
|
### 補足情報(FW/ツールのバージョンなど)
|
62
68
|
尚、ご参考になるかわかりませんが、Xサーバーを利用しWordPress上で実行しています。
|
63
69
|
|
3
試したこと 5 の追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -55,6 +55,9 @@
|
|
55
55
|
Xサーバーの管理画面で 8.0.16 を 8.1.6 にアップデートしたものの改善は見られませんでした。
|
56
56
|
逆に 7.4.28 にダウングレードしても同様でした。
|
57
57
|
|
58
|
+
##### 試したこと 5(JavaScriptの停止)
|
59
|
+
まさか「画面上の`1`を`7`に置換する」というJavaScriptでも動いているのか?と思い、ブラウザでJavaScriptを停止しましたが、さすがにそんなスクリプトはなかったようです。
|
60
|
+
|
58
61
|
### 補足情報(FW/ツールのバージョンなど)
|
59
62
|
尚、ご参考になるかわかりませんが、Xサーバーを利用しWordPress上で実行しています。
|
60
63
|
|
2
試したこと3と4を追加し、他一部を加筆・修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -21,8 +21,11 @@
|
|
21
21
|
```
|
22
22
|
|
23
23
|
### 試したこと
|
24
|
+
##### 試したこと 1(コードの確認)
|
24
25
|
まずコピペミスを懸念し、改めてコピペしましたが変化なしでした。
|
26
|
+
これは「質問への追記・修正の依頼」で m.ts10806様 から改めて確認するようご指摘頂き、再三のコピペで確認致しました。
|
25
27
|
|
28
|
+
##### 試したこと 2(バージョンの確認)
|
26
29
|
次にphpバージョンを確認すると 8.0.16 で問題はなさそうでした。
|
27
30
|
```php
|
28
31
|
echo phpversion().PHP_EOL; //8.0.16
|
@@ -41,6 +44,17 @@
|
|
41
44
|
[17-Sep-2022 00:03:57 UTC] PHP Fatal error: Array and string offset access syntax with curly braces is no longer supported in /home/xxxxxxxxxxxx/example.com/public_html/wp-content/themes/test/header.php on line 22
|
42
45
|
```
|
43
46
|
|
47
|
+
##### 試したこと 3(関数の有無を確認)
|
48
|
+
`grapheme_strlen`の有無を確認しましたが以下問題なく`true`でした。
|
49
|
+
```php
|
50
|
+
var_dump( function_exists('grapheme_strlen') );
|
51
|
+
// -> bool(true)
|
52
|
+
```
|
53
|
+
|
54
|
+
##### 試したこと 4(バージョンの変更)
|
55
|
+
Xサーバーの管理画面で 8.0.16 を 8.1.6 にアップデートしたものの改善は見られませんでした。
|
56
|
+
逆に 7.4.28 にダウングレードしても同様でした。
|
57
|
+
|
44
58
|
### 補足情報(FW/ツールのバージョンなど)
|
45
59
|
尚、ご参考になるかわかりませんが、Xサーバーを利用しWordPress上で実行しています。
|
46
60
|
|
1
誤字訂正
test
CHANGED
File without changes
|
test
CHANGED
@@ -28,7 +28,7 @@
|
|
28
28
|
echo phpversion().PHP_EOL; //8.0.16
|
29
29
|
```
|
30
30
|
|
31
|
-
本当に 8.0.16 なのか?と疑い、「8.0
|
31
|
+
本当に 8.0.16 なのか?と疑い、「8.0ならエラーになる」という次のリンクのコードを試しました。
|
32
32
|
|
33
33
|
> **PHP 7.3では配列のオフセットの指定に波括弧を利用できましたが、PHP 8.0ではFatal Errorが発生します。**
|
34
34
|
> $hoge = [1, 2, 3];
|