カテゴリー『 未分類 』

≒ Incorrect string value: ‘\xF0\xA0\x94\xBB\xF0\xAA…’

wikipediaデータ利用でハマった件、その2。

あれから色々やって、「wikipediaデータで色々するサイト」はできて、今は色々調整しているところ。
で、wikiの最新データで更新しようとしたら、

ERROR 1366 (HY000) at line 4254: Incorrect string value: ‘\xF0\xA0\x94\xBB\xF0\xAA…’ for column ‘rev_user_text’ at row 581

だって。途中で処理が止まる。ヤフっても解決法は見つからず、同じことで悩んでいる人もチラホラ。で、試行錯誤の二日間の内容は割愛して、解決法だけ。

mysql> SET @@GLOBAL.sql_mode=”;

これでOK。あれ?前のエントリで出てたよね? …my.iniで設定してないからmysqldをrestartしたら元に戻ってたんだよね。あー何もかもくだらねーw
でも、今回も”select count(*) from text;” やると結果)413000 のとこで止まってたんだよね。mwdumper.jar 任せで全部やってるから処理の内容がわかってないのがつらいけど、特定のレコードで引っかかってるってことだよね。サイトいじり終わったら見てみよう。

≒ wikipediaデータ利用でハマった件

twitterデータを使って色々するサイトというかサーバは組めて、その経緯を残しておこうと思ったんだけど、この2~3日サーバ自体が不安定ですぐ落ちる。それを直してからまとめるとします。

そんでつぎにwikipediaデータで色々するサイト作ろうとしてるんだけど、まずはローカルのというかサーバでもなく手元のwindowsノートのMySQLに全データ突っ込もうとして四苦八苦。

mwdumper.jarでやるのが良さそうなのでまずは挑戦。やっぱりjavaが好き。

で、2時間ぐらいで終了。DBの中身は空w なんか初っぱなにERROR吐いてるのはわかってたんだけど、無視してた。というか処理止まらないし。このページを参考にcharcter-set指定。

java -jar mwdumper.jar –format=sql:1.5 jawiki-latest-pages-articles.xml.bz2 | mysql -u フガフガ -pホゲホゲ –default-character-set=utf8 wikidb

中身入った。けど色々見てみると何かおかしい。SELECT COUNT(*) FROM text でレコード数見てみると413000しかない。元データは1853286pagesあったのに。

ケツに >aaa.txt 2>&1  付けて処理を記録。ものすごい勢いで流れてっちゃうからね。

途中でエラー吐いてMySQLが終わってるらしい。「ERROR 1366 (HY000) at line 4241」

このページを参考にSTRICTモードを外す。my.iniで指定したんだけど上手くいかず。

mysql> SET @@GLOBAL.sql_mode=”; ってmysql内で設定する。ここで「なぜ指定が効かないのか」を追究していれば次のはまりは無かったのに…

で 結果)1853286pages count(*):1853286

無駄にDBがでかいので必要な部分だけ抜き出して別テーブルへ。
で、ERROR 1206 (HY000): The total number of locks exceeds the lock table size
ググった結果の対処法は「innodb_buffer_pool_sizeを増やす」一生懸命 C:\Program Files\MySQL\MySQL Server 5.6\my.iniを
変更しても反映されず。諦めてJAVAでなんか書くかと思ったが、最後にもう一度my.iniがどっかに隠れてないか検索。
見たことないのが出てきた→C:\ProgramData\MySQL\MySQL Server 5.6\my.ini???
変更したらちゃんと反映。くそ。

≒ 未解決)aタグのonclick動作不良の件

動物園ログ置き場(改)

検索結果が「no record」だとdivMainのaタグの動作が不良(onclickが死んで、hrefしか活きてない状態=大きい画像の差し替え動作が死ぬ)。

なのでjavascript:void(0)とか、#bodyTopとか色々やったんだけど、onclick属性はページ再読み込みしないと生返らず。つまり未解決。
とりあえず、「no record」アラート出したあとinit()呼び出すことで応急処置。

aタグをspanタグに換えるって対処法もあるみたいだけど、何かW3C先生を騙すだけの対処法だし(href属性指定しないで良くなるだけでしょ?)、文法表現上?は後退するだけなような気がするからパスw

対症療法じゃなくて、根本的な解決方法を見つけたいな。