Microsoft Edge - トラブルシュート - 名称が長い
- 1. 概要
- 2. 現象
- 3. 原因
1. 概要
あらかじめ、申し上げておきますが、このトラブルは、「偉大なるマイクロソフトさま」や「Microsoft Edge」自体にはなんの問題もなくて、単に、わたしが、間抜けであったためであることを申し上げておきます。
2. 現象
こことは、別のサイトで動かしている掲示板がありましてな。
最近、ちょっとリニューアルしたのですが、このリニューアルともまた原因は違うのですが・・・。
その掲示板に書き込みを行うと。
普段使用している「Vivaldi」だとなんの問題もなく、書き込めるのですが、「Microsoft Edge」で書き込もうとするとサーバエラーになって書き込めないという現象が発生したのです。
3. 原因
原因を調べていって、あっと驚きましたが。いや、驚くことではないな。
掲示板に書き込んだ内容をデータベースに登録して、参照して表示するようにしておりますが。
データベースに「INSERT」しようとするところでエラーになっておりました。
その「SQL」を見ていて気付きました。
登録の際、アラシ対策もあって、登録者の環境もデータベースへ登録することにしています。
登録者の使用しているブラウザの種類も環境の一つとして登録します。
フレームワークには、「Laravel」を使用しておりまして、ブラウザは
Illuminate\Http\Request
の
userAgent()
メソッドで取得しております。
グローバル変数でいうところの
$_SERVER['HTTP_USER_AGENT']
ですな。
これようのカラムに、下記の型を用意しておりました。
character varying(128)
このカラムにはいるべき値を「Vivaldi」と「Edge」とで見比べてみましたらば、下記のようになっておりまして。
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.136 Safari/537.36
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.5060.53 Safari/537.36 Edg/103.0.1264.37
あれま、なんと「Edge」の方、128文字を超えておるではないですか。
あわてて、文字数を増やすことで対応できました。
しかし、これ以前は「Edge」で書き込んでいた人がいなかったのかしら。
インターネットエクスプローラが、サポート終了したために、「Edge」へ切り替えた人がいて、発覚したのでしょうな。
|
|