CAM PDF モジュールを使用して PDF ファイルから PDF メタデータを抽出する perl スクリプトを作成しました。次に、そのデータを取得し、DBI を使用して MySQL に挿入します。特殊文字を含む PDF ファイルを見つけました。MySQL スキーマと DB テーブルが UTF8 に設定されていることを確認できます。utf8 を使用するように設定された perl スクリプトがあり、use utf8;
これを使用するように DBI 接続も設定されていますmysql_enable_utf8 => 1
。
一部の記号 (著作権、登録済み) を保存できるようになりましたが、商標記号がアポストロフィ/アクセントに変換されます。$dbh->do('SET NAMES utf8')
設定がこれを解決するのに役立つと読みましたが、私のシナリオでは、シンボルに最初に遭遇した後にすべてのテキストが切り取られます。
問題は、PDF からのテキストが UTF8 ではなく別のエンコード形式に設定されていることだと思います。モジュールを使用してこれらの文字列をデコード/エンコードしようとするuse Encoding
と、シンボルがテキストに変換されます。そのテキストが php を使用して Web ページに出力されると、シンボルとしてではなくテキストとして表示されます。