マビノギ知識王

スレッド・レスポンスの文字数制限。1000行エラー
てるりあ 07/12/13 20:38

スレッドや、レスポンスに記述を行った際に、エラーが出る場合があります。

この時、文字の数が規定値より多い場合があります。
スレッドとレスポンスの文字数制限をここに記述します。
 
スレッド上限   9993文字
レスポンス上限  700文字
 
上記の上限はあくまでも、通常入力による最大値です。
実際に入力できる文字数は、条件により異なります。
現実的には、上限の約半分の文字数しか入力できないと思ってください。
 
以上で簡単な説明を終えます。
 
※200/12/12時点の仕様での検証
________________________________________________________________
 
以下、検証した細かいデータを記載します。

下記の検証は、通常の入力画面より入力できる範囲での検証です。

HTMLなどのコピー・ペーストした場合を除きます。
 
スレッド検証
 
1.文字だけを羅列した場合
 
 例(123456・・・)
 
 最大入力可能文字数 9993文字
 半角と全角の違いなし。
 
2.一文字+改行の場合
 
 例 1(改行)
   2(改行)
   3(改行)
   ・・・
 
 最大入力可能文字数 1997文字 + 改行なし(1997行目)
(改行を文字として数えていない)
 半角と全角の違いなし。
 
3.改行のみ
 例 (改行)
   (改行)
   (改行)
   ・・・
 
最大入力可能行数 1332行
※何故か1332行入力しても666行しか表示されない。謎の減少が起こる。
 
条件1と2より、文字数制限と行数制限の二つで規制されていると考えたが、3により覆る。
 
ブラウザでソースコードにて確認。
 
1.文字だけの場合 → 入力した文字
2.文字+改行   → 文字と<BR>タグ
3.改行だけ    →  <BR>タグ
 
HTMLソースになった場合に、ケース2は文字数+タグの4文字。
ケース3は、タグなどの10文字になっていた。
 
追加検証を行う。
 
4.文字だけ入力。ただし一文字だけ染色ボタンで赤にする。
 
 入力可能文字数 9971文字になる。
 入力画面にて設定できる他の色でも同様の結果。(紺・緑)
 HTMLにてチェック。染色1文字が29文字になる。
 <font color="#d05d18">A</font>
 HTMLにおける総文字数10001文字。
 
5.文字だけ入力。ただし一文字だけ強調ボタンで強調する。
 
 入力可能文字数 9981文字
 HTMLにてチェック。強調1文字が18文字になる。
 <strong>A</strong>
 HTMLにおける総文字数9999文字。
 
6.文字だけ入力。ただし一文字だけ下線ボタンで下線する。
 
 入力可能文字数 9987文字
 HTMLにてチェック。下線1文字が8文字になる。
 <u>A</u>
 HTMLにおける総文字数9994文字。
 
ケース4・5・6より。

 システムが保持しているデータと、ブラウザで表示されるH TMLデータは同じではないと予測。
 何らかのタグの圧縮・変換が行われている可能性があると推測。
 
通常入力時の最大文字数との差異計算
 着色 9993 - 9971 = 22
 強調 9993 - 9981 = 12
 下線 9993 - 9987 = 6
 
最大HTML文字との差異
 着色 9993 - 10001 = -8
 強調 9993 - 9999 = -6
 下線 9993 - 9994 = -1
 
これらを踏まえ、再度ケース1・2・3のHTML文字数をカウント。
 
ケース1 9993文字
ケース2 9985文字
ケース3 6660文字
 
現状の考察
 
手順1.入力画面にて入力
手順2.クライアントもしくはサーバーにて、入力内容がチェックされ変換。(変換後、チェックの可能性も有り)
手順3.変換されたデータが、サーバーに保存。
手順4.ブラウザにてサーバーからデーター参照する。妥当なHTMLに変換されて表示。
 
変換の仕様が、私には予測不能。
結果、純粋な文字入力だけならば、9993文字まで入力画面にて可能であるが、現実的には改行や装飾などをする。
実質、装飾をするタイプの人ならば3000~5000文字が上限になってくると思われる。
 
レスポンスに関する検証。
 
7.文字だけの場合。(ケース1と類義)
 
入力可能文字数 700文字
全角半角変化なし。
 
8.1文字と改行の場合。(ケース2と類義)
入力可能文字数 234文字 + 改行なし (234行)
全角半角変化なし。
 
9.改行だけの場合。(ケース3と類義?)
入力可能行数 351行
ケース3と違い、ブラウザで確認すると、HTMLソースは<BR>タグを使用していた。
また、入力した行が減ることも無かった。
 
結果、スレッドと完全に同じ処理をしていない様子。
また、現実的利用範囲は、300~500文字と予測。
 
以上
 
追記。スレッド・レスポンス・デフォルトのAI記憶領域は別枠。

てるりあ 様の答え
てるりあ 07/12/14 12:04

3日による地味な調査により、検証終了。
関係者各位、ご協力ありがとうございます。
 
検証結果は、参考程度に・・・。

答えの出所 自分で検証
Luluca 様の答え
Luluca 07/12/15 01:11

この記事に関連しそうな参考文献
http://www.mabinogi.jp/5th/5_mkn.asp?bbs_mode=view&num=1394
http://www.mabinogi.jp/5th/5_mkn.asp?bbs_mode=view&num=2760
http://www.mabinogi.jp/5th/5_mkn.asp?bbs_mode=view&num=5580