漫ろで行こう

自由気まま過ぎる、ギークになりたい男の子の話

Posts tagged ‘エラー’


iPhone ユーザーとしては、公式的に Flash 対応して欲しいところですが、脱獄した人は少なからず「フラッシュ見れないかなー」と以前書いた「[iPhone 3Gs Jailbreak]今更ながら iPhone で Flash を見る」の記事へ辿り着いているかと思います。
そこで iMobileCinema に関するエラーと勘違いについて、メモ書き程度に残しておきたいと思います。

リポジトリエラー
直接的に iMobileCinema にエラーがあるわけではないですが、いざ iMobileCinema をインストールしようと Cydia を起動したらリポジトリ読み込み時にポップアップ GPG エラーが表示されるかと思います。
ここでタフガイな人はズカズカと先へ進むと思うのですが、戸惑った人は Google 先生へお尋ね申すかと。
GPG エラーの直接的原因は色々あるのですが、「iMobileCinema がインストール出来ないじゃない!」と思う人がいるかもしれません。
そこは冷静になって Cydia の「Search」から「iMobileCinema」を検索してみてください。
検索結果に表示されて問題なくインストールすることが出来ると思います。
なお、GPG エラーじゃないエラーが表示される場合(※主にサーバーがダウンしているとか)は、後日また試してみてください。

それでもどうしてもダメだ!
という方は、あまりオススメしたくないですが、Be Your iPhone のリポジトリから iMobileCinema をインストールすることが出来るようです。
Be Your iPhone に関しては、各々調べてください。

iMobileCinema の勘違い
続いて iMobleCinema をインストールする切っ掛けは、大体のところ「Flash サイトも閲覧したい!」という理由だと思うのですが、Flash サイトを閲覧出来ると分かったとき、きっと言葉では言い表せない「ときめき」みたいなものを感じたと思う。だが、それは期待し過ぎ!
iMobileCinema は万能ではない。ということ。

基本的に以下のような動画ストリーミングサイトで、動画が閲覧出来るようになるかも?程度の認識でいると良いです。

  1. Youtube
  2. Megavideo
  3. Vimeo
  4. Google Video
  5. Youku
  6. DailyMotion
  7. Metacafe
  8. College Humor
  9. Veoh

それでは、良い iMobileCinema ライフを!

official.iMobileCinema – Any videos, in iPhone Safari.

20090927mixiVoicd01
[言語][Ruby][Webサービス]mixi エコー改め mixi ボイスへ twitter ポスト」や「[言語][Ruby][Webサービス]mixi ボイスに twitter ポストが出来ない」などで、ちょいちょい記載している Ruby を使った Twitter ポストを mixi ボイスへポストするスクリプトですが、4日ほど前から急に mixi にポストされなくなったので、原因を調査してみたところ Iconv::IllegalSequence が発生していることが判明しました。といっても、2日前くらいに直したのですが、内容はハチャメチャな暫定処理。うん、これは恥ずかしい。が、一応、何かの役に立てば的な感じでメモ。

実際にその時のスクリプト実行時エラーは以下のような感じ。

user@host:~/script/mixiEchoBot> ruby mixiEchoBot.rb 
Link: プログラミング言語 Go ドキュメント — golang_docjp v0.1 documentation http://tumblr.com/xkz43zuky
/…/mechanize/util.rb:40:in `iconv’: ”\342\200\224 golang_docjp”… (Iconv::IllegalSequence)
  from /usr/local/lib/…/mechanize/util.rb:40:in `from_native_charset’
  from /usr/local/lib/…/mechanize/form.rb:152:in `from_native_charset’
  from /usr/local/lib/…/mechanize/form.rb:144:in `proc_query’
  from /usr/local/lib/…/mechanize/form.rb:143:in `map’
  from /usr/local/lib/…/mechanize/form.rb:143:in `proc_query’
  from /usr/local/lib/…/mechanize/form.rb:166:in `build_query’
  from /usr/local/lib/…/mechanize/form.rb:165:in `each’
  from /usr/local/lib/…/mechanize/form.rb:165:in `build_query’
  from /usr/local/lib/…/mechanize/form.rb:214:in `request_data’
  from /usr/local/lib/…/mechanize.rb:401:in `post_form’
  from /usr/local/lib/…/mechanize.rb:344:in `submit’
  from /usr/local/lib/…/mechanize/form.rb:130:in `submit’
  from /usr/local/lib/…/mechanize/form.rb:136:in `click_button’
  from mixiEchoBot.rb:83
  from mixiEchoBot.rb:54:in `each’
  from mixiEchoBot.rb:54

原因はというと、Tumblr 経由で Twitter にポストした「プログラミング言語 Go ドキュメント — golang_docjp v0.1 documentation」こちらの「—」の部分。他と文字コードが違うため、Mechanize 内部の iconv で IllegalSequence エラーが発生してしまいました。
スクリプト中のボタンクリックアクション時にエラーが発生しているようなので、暫定的ではありますが無理矢理動くように、IllegalSequence エラーが発生した際にキャッチして置換をかまして再ポストするように修正。

  f = form['body'] =tweets[i]+comment
  puts tweets[i]
  form.click_button

これを以下のように無理矢理な感じで修正。

  begin
    f = form['body'] =tweets[i]+comment
    puts tweets[i]
    form.click_button
  rescue
    tweets[i] =tweets[i].gsub!(“—”,”-”)
    f = form['body'] =tweets[i]+comment
    puts tweets[i]
    form.click_button
  end

「—」だけに限らず、他にも色々と IllegalSequence エラーが発生する文字はありますがとりあえず的な。

© 1995-2008 MySQL AB, 2008-2009 Sun Microsystems, Inc.

© 1995-2008 MySQL AB, 2008-2009 Sun Microsystems, Inc.

所用で C# から MySQL :: Connector/Net 6.0 を利用して MySQL からデータを抜く必要があったため、コーディングしていたのですが
Fatal error encountered during command execution
といったエラーが。

原因は直ぐに特定できたのですが、どうにも腑に落ちない。
というのも、原因は条件式の検索文字列の先頭に「@」が付いているため、変数として誤認されるのが原因で回避策は後回しとして、通常の SELECT 文とプロシージャコールで挙動が異なること。
プロシージャは以下のような感じ。これで同様のエラーが発生することはなく、問題なく動作してしまう。

string hoge = "@abc";
string fuga = "asdf1234";
string query = string.Format("call proc_Test('{0}', '{1}');", hoge, fuga);

一方、通常の SELECT 文だと先述したプロシージャのようなコーディングを行うと Fatal error encountered during command execution と怒られてしまう。
対処方法としては以下のような感じにする必要がある。

string cns = "MySQL接続文字列";
string hoge = "@abc";
string fuga = "asdf1234";
string query = string.Format(
  "select * from atTest where testName=@TEST and testPass='{0}';", fuga);
using (MySqlConnection conn = new MySqlConnection(cns))
{
  MySqlCommand cmd = new MySqlCommand(query, conn);
  cmd.Parameters.Add(new MySqlParameter(
    "@TEST", MySqlDbType.VarChar, 40));
  cmd.Parameters["@TEST"].Value = hoge;
  cmd.CommandTimeout = 300;
  conn.Open();
  // 処理
  conn.Close();
}

後者も完璧ではないけども(fuga 変数の内容も本来であれば、Parameters に Add するべきなんだけど)プロシージャの場合は問題無いのはどういうことだろう?
Conncector/Net のバグなのか仕様なのか……。

official.MySQL Query Analyzer – Improving SQL Query Performance

Get Adobe Flash playerPlugin by wpburn.com wordpress themes
Proudly powered by WordPress. Theme developed with WordPress Theme Generator.
Copyright © 漫ろで行こう. All rights reserved.