質問編集履歴
2
文章を一部修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -7,7 +7,7 @@
|
|
7
7
|
掲示板のタイトルが `VARCHAR(100)`以下の文字数であることを、phpとJavaScriptで判定したいです。
|
8
8
|
|
9
9
|
### 発生している問題
|
10
|
-
文字数のカウント方法に整合性がなく、`VARCHAR(100)` 以下と判定する正確な方法がわかりません。
|
10
|
+
文字数のカウント方法が、言語間にも、文字毎にも整合性がなく、`VARCHAR(100)` 以下と判定する正確な方法がわかりません。
|
11
11
|
|
12
12
|
### 該当のソースコード
|
13
13
|
こちらの`thread_ttl`が対象カラムです。
|
@@ -36,7 +36,7 @@
|
|
36
36
|
console.log( result );
|
37
37
|
```
|
38
38
|
|
39
|
-
この整合性の
|
39
|
+
このように、言語間にも、文字毎にも整合性がないのが問題です。
|
40
40
|
|
41
41
|
### 試したこと
|
42
42
|
ということは、phpでは次のように検証して、
|
1
不要なカラムを削除
test
CHANGED
File without changes
|
test
CHANGED
@@ -12,12 +12,12 @@
|
|
12
12
|
### 該当のソースコード
|
13
13
|
こちらの`thread_ttl`が対象カラムです。
|
14
14
|
```SQL
|
15
|
-
CREATE TABLE tbl_threads
|
15
|
+
CREATE TABLE tbl_threads (
|
16
|
+
`ID` INT,
|
16
|
-
|
17
|
+
`thread_ttl` VARCHAR(100) -- 対象カラム
|
17
|
-
;
|
18
|
+
);
|
18
19
|
```
|
19
20
|
|
20
|
-
### 試したこと
|
21
21
|
phpでは`mb_strlen`のみで問題なく数えることができるようで、以下すべて「1」です。
|
22
22
|
```php
|
23
23
|
$arr = ["1","a","あ","😃","🏴"];
|
@@ -26,6 +26,7 @@
|
|
26
26
|
}, $arr );
|
27
27
|
var_export( $result );
|
28
28
|
```
|
29
|
+
|
29
30
|
しかしJavaScriptですが、以下最後の旗が「5」になってしまいます。
|
30
31
|
```JavaScript
|
31
32
|
const arr = ["1","a","あ","😃","🏴"];
|
@@ -35,6 +36,9 @@
|
|
35
36
|
console.log( result );
|
36
37
|
```
|
37
38
|
|
39
|
+
この整合性のなさが問題です。
|
40
|
+
|
41
|
+
### 試したこと
|
38
42
|
ということは、phpでは次のように検証して、
|
39
43
|
```php
|
40
44
|
// ユーザーが入力した掲示板のタイトル
|