yomi searchはShift-JISで動いてるんだけど、数年前設置した際にyomi searchのフォームで検索すると文字化けしてしまい
ファイル変換してもうまくいかなかったことがあったんだけど、
jacode.plを利用すると解決すると知って早速やってみた。
jacode.pl は Perl4上でUTF-8を扱えるようにjcode.plを改造したものです。
jacode.pl配布サイトより
詳細はyomi-searchをutf-8にする覚書に詳しく載ってます!必見
上記サイトを参考に早速カスタマイズ。(要バックアップ)
jacode.plをダウンロードする
jacode.plをダウンロードして、すでに入っているjcode.plと同じフォルダに入れる。(jcode.plは利用しません)
修正
admin.cgi、rank.cgi、regist_ys.cgi、search.cgi、yomi.cgiの
require 'pl/jcode.pl'
を
require 'pl/jacode.pl'
に変更
ファイルを変換する
.cgi、.html、.css、.logの各ファイルをそれぞれUTF8(BOM無し)に変換する。
文字コードが指定できるエディタで変換できるけど、ファイルが多いので一発変換ツールとか使うと便利。
(私はKanjiTranslator使ってます。)
その他修正
<!-- あ -->
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
○各ファイルに上記があったら削除(templateとかtemplate/adminとかにたくさんあるヨ)
○meta要素はutf-8にする
※pl/KCatch.pmは変更しない
○template/admin/config.html
if(&check_symlink){$PR_mes_symlink="symlinkロックを使用可能\";}
を
if(&check_symlink){$PR_mes_symlink="symlinkロックを使用可能";}
に変更
○admin.cgi、rank.cgi、search.cgi、yomi.cgi、regist_ys.cgi
&jcode'convert(*value,'sjis'); &jcode'convert(*name,'sjis'); $FORM{$name} = $value;
を
&jcode'convert(*value,'utf8'); &jcode'convert(*name,'utf8'); $FORM{$name} = $value;
に変更(エディタで置き換えすると便利)
jacode.plを利用、ファイル文字コードの変換、sjisからutf8への修正etcでyomi searchだけでなくいろいろ応用効きそう~
ところでyomi searchって今どれくらい需要あるんだろう?前はSEOどーのこーのでよく見た気がするけど。