wikipediaのカテゴリ以下の見出しワードのすべて取得

ruby-mysqlをインストール

gem install ruby-mysql

ユーザー名等はMYSQL内で

SELECT user,host,password FROM mysql.user;

等で確認できる.

ruby-mysqlを使ってみる.
以下
http://www.ownway.info/Ruby/ruby-mysql/about
を参考に,

mysqlライブラリの解説:
http://tagomoris.hatenablog.com/entry/20111210/1323502295

以下のコードをためしに書いていると

# coding: utf-8
require 'rubygems'
require 'mysql'

dbname="wiki_table"
hostname="127.0.0.1"
username="root"
password=""
query_text="料理に関するメディア"
query_text=query_text.encode("UTF-8","UTF-8")

#client= Mysql.connect('hostname', 'username', 'password', 'dbname')
con = Mysql::new(hostname, username, password,dbname)



res = con.query('select * from categorylinks where cl_to="料理に関するメディア";')
res.each do |row|

        puts row[0];
end

..lib/mysql/charset.rb:299:in `encode': U+6599 from UTF-8 to ISO-8859-1 (Encoding::UndefinedConversionError)

と怒られる
http://d.hatena.ne.jp/shibason/20090912/1252753970

そこで,

$ cat wiki_word_search.rb
# coding: utf-8
require 'rubygems'
require 'mysql'

dbname="wiki_table"
hostname="127.0.0.1"
username="root"
password=""
#query_text="料理に関するメディア"
#query_text=query_text.encode("UTF-8","UTF-8")
#query_text = query_text.encode("ASCII-8BIT", "ASCII-8BIT")
#client= Mysql.connect('hostname', 'username', 'password', 'dbname')
con = Mysql::new(hostname, username, password,dbname)
#con.options(Mysql::SET_CHARSET_NAME, 'utf8')
res=con.query("show variables like 'character\_set\_%'")
#con << 'SET NAMES utf8'
#print res;
#res = con.query('select * from categorylinks where cl_to="料理に関するメディア";')
res.each do |row|

        puts row.join(",");
end

https://www.softel.co.jp/blogs/tech/archives/1470を参考に
というコードを書くと,

character_set_client,latin1
character_set_connection,latin1
character_set_database,latin1
character_set_filesystem,binary
character_set_results,latin1
character_set_server,latin1
character_set_system,utf8
character_sets_dir,/usr/share/mysql/charsets/

という出力がえられ、クライアントの文字セットがutf-8になっていないことが確認できる.

そこで、クライアントの文字セットを変更するのでなく、文字コードASCII-8BITに変換してやる
ことで、http://www.ownway.info/Blog/2011/08/rubymysql-encodingundefinedconversionerror.htmlを参考にして,
query_text = query_text.encode("ASCII-8BIT", "ASCII-8BIT")というコードをいれることで

$ cat wiki_word_search.rb
# coding: utf-8
require 'rubygems'
require 'mysql'

dbname="wiki_table"
hostname="127.0.0.1"
username="root"
password=""
query_text="料理に関するメディア"
query_text=query_text.encode("UTF-8","UTF-8")
query_text = query_text.encode("ASCII-8BIT", "ASCII-8BIT")
#client= Mysql.connect('hostname', 'username', 'password', 'dbname')
con = Mysql::new(hostname, username, password,dbname)
#con.options(Mysql::SET_CHARSET_NAME, 'utf8')
res=con.query("show variables like 'character\_set\_%'")
#con << 'SET NAMES utf8'
#print res;
res = con.query("select * from categorylinks where cl_to=\"#{query_text}\";")
res.each do |row|

puts row.join(",");
end

以下の出力をえられた。

1448822,料理に関するメディア,こうちやんのしあわせかんたんおりようりれしひ
こうちゃんの幸せ!簡単!お料理レシピ,2009-03-20 19:33:44,こうちやんのしあわせかんたんおりようりれしひ,uppercase,page
1298131,料理に関するメディア,くつくはつと
クックパッド,2009-03-20 19:39:12,くつくはつと,uppercase,page
846594,料理に関するメディア,くるめさいと
グルメサイト,2009-03-21 03:33:26,くるめさいと,uppercase,page
760848,料理に関するメディア,にほんしよくりようしんふん
日本食糧新聞,2009-03-21 13:15:05,にほんしよくりようしんふん,uppercase,page
1063058,料理に関するメディア,につけいれすとらん
日経レストラン,2009-04-11 01:04:42,につけいれすとらん,uppercase,page
1791585,料理に関するメディア,しよせき
食に関する書籍,2009-06-01 05:27:41,しよせき,uppercase,subcat
1909752,料理に関するメディア,かんへろろつそ
ガンベロロッソ,2009-12-13 15:43:18,かんへろろつそ,uppercase,page
2121009,料理に関するメディア,くるめさいと
グルメサイト,2010-11-15 16:35:00,くるめさいと,uppercase,subcat
855862,料理に関するメディア,みしゆらんかいと
ミシュランガイド,2010-11-29 01:37:48,みしゆらんかいと,uppercase,page
2434864,料理に関するメディア,れすとらん
レストラン (雑誌),2011-09-24 07:58:08,れすとらん,uppercase,page
1520137,料理に関するメディア,けてしよくたいせん
ゲテ食大全,2012-04-30 03:00:22,けてしよくたいせん,uppercase,page
1856704,料理に関するメディア,さくひん
料理を題材とした作品,2013-03-24 14:17:16,さくひん,uppercase,subcat
243180,料理に関するメディア,はんくみ
料理番組,2013-06-07 19:07:33,はんくみ,uppercase,subcat
2626262,料理に関するメディア,たなかあいこのはつひれしひえふりてい
田中愛子のハッピーレシピ,2014-12-06 17:39:43,たなかあいこのはつひれしひえふりてい,uppercase,page