ユーザー名等は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