えー。どうにかなりました。結構根本的なところを弄りまくりましたが。要点をば。
・ファイルメーカーPro5.5のデータをすべて7に移すと、UNICODEでタブ区切りテキストファイルとしてエクスポートできる。ただし、UTF-16で出力されるので、JeditかテキストエディットでUTF-8に変換が必要。
・PostgreSQLはデータベースごとに文字コードを設定できるので、新しくUNICODEでデータベースを構築。
CREATE DATABASE データベース名 WITH ENCODING='UNICODE';
(←PostgreSQLの場合、"UNICODE"は"UTF-8"のことです)
・PHPの内部文字コード、HTTP出力コードをUTF-8に変更する。具体的にはphp.iniの設定を以下のように変更。
output_bufferin = Off
output_handler = mb_output_handler
default_charset = utf-8
mbstring.language = Japanese(←これは間違ってるかも)
mbstring.internal_encoding = utf-8
mbstring.http_input = auto
mbstring.http_output = utf-8
mbstring.encoding_translation = On
mbstring.detect_order = auto
mbstring.substitute_character = none
あと、PHPのスクリプトのファイルはぜんぶUTF-8に変更して、さらに、HTMLのメタタグの中を"charset=utf-8"に変更しました。
PHPの内部文字コードはEUC-JPのままにしたかったんだけど、うまくいかなかったので結局全部変更することに。おかげで検索も日本語にも対応できるようになりましたが(いまのところ使う予定はないけど)。やっぱり今回のポイントはファイルメーカのデータをどうやってUTF-8にするか、でしたね。いったんSJISで出力してしまうとせっかく他言語で入力したデータが全部パーですから。なんにせよ、うまくいって良かったです。ふう。