質問編集履歴

2

文章を一部修正

2022/09/13 19:01

投稿

nikuatsu
nikuatsu

スコア177

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

不要なカラムを削除

2022/09/13 18:58

投稿

nikuatsu
nikuatsu

スコア177

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
- (`post_id` int, `author_id` int, `thread_ttl` varchar(100) )
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
  // ユーザーが入力した掲示板のタイトル