FC2ブログ

うつうつな日々

システム開発の環境構築や、社内ポータルなどを構築している日々の日記などなどです。

Trac試験運用メモ

Tracのチケットにコメントをつけて、クローズしたら、タイムラインに「チケットの更新」を表示する際、エラーが出るようになってしまった。

登録したコメントは、↓な感じ。
「 module/projects/gannt.php gannt2.php の修正」
間のスペースは、全角スペースです。

表示されたエラー:







チケットの更新 event provider (TicketModule) failed:
UnicodeDecodeError: 'utf8' codec can't decode bytes in position 74-76: invalid data

DBで、登録したコメントを直接編集してみました。


  • gannt.phpの後ろの全角スペースを削除


「 module/projects/gannt.phpgannt2.php の修正」
 ⇒変化なし。 


  • gannt2.phpの後ろの全角スペースを削除


「 module/projects/gannt.php gannt2.phpの修正」
 ⇒変化なし。 


  • 間の全角スペースを、全て削除。


「 module/projects/gannt.phpgannt2.phpの修正」
  ⇒変化なし。


  • gannt.phpとgannt2.phpの間に、全角カンマを挿入


「 module/projects/gannt.php、gannt2.phpの修正」
  ⇒変化なし。


  • gannt.phpとgannt2.phppの間に、半角カンマを挿入


「 module/projects/gannt.php,gannt2.phpの修正」
  ⇒エラーが出なくなった。


で、原因はなんだったのか???
全角スペースを疑ったのですが、2つとも削除してもエラーのままだったので、
全角スペース自体に問題があるわけではないようです。

気になるのは、↓の半角の文字数が、奇数であること。
「module/projects/gannt.php」 ⇒ 25文字

よく、半角・全角が混じっていると、半角文字+全角文字の前半1バイトで1つの全角文字として判断してしまうバグってありますよね。。。

で、エラーが出なかった「 module/projects/gannt.php,gannt2.phpの修正」
のgannt2.phpの後ろに、全角スペースを入れてみたところ、エラーにならず・・・

他にもいろいろとコメントを変えてみましたが、最初にエラーになったコメントの「/」を全て削除した場合も、エラーにならないことが判明。
(全角スペースはそのまま)
「 moduleprojectsgannt.php gannt2.php の修正」
この場合、半角文字数は奇数個のまま。。。

ちなみに、全角スペースを別の場所に入れても、エラーにはなりませんでした。
たとえば、こんな感じに。。。
「module/projects/testa.php,testa2.phpを修 正。」

またまた、MySQLの問題なのでしょうか???

DBをMySQLではなくSQLiteので作成した環境で、同じコメントを登録してみたところ、こちらは問題なくタイムラインが表示されました。

ということは、MySQLとの接続部分かMySQL自体に何かしらの問題があるのでしょうか。。。

何か分かったら、また書きます
スポンサーサイト



PageTop

コメント


管理者にだけ表示を許可する