翻訳比較ツール を更新しました
- 長らくメンテナンス中となっている京大翻訳を一旦除外しました。
- excite翻訳の対日本語訳が文字化けしていたのを修正しました。
- 翻訳ユニット全体のOn/Offスイッチが付きました。
Webツール Planetleaf.com Lab.
http://tools.planetleaf.com/
DOM 処理周りの修正
ホスティングサーバーのPHP周りの仕様次第ですが、自宅に設置しているサーバーでは起こっていなかった問題がありまして、今回はこの修正がメインです。
各翻訳ユニットは一度htmlからdomドキュメントとして内部で処理しています。
$html = file_get_contents($url, false, $context); $response = strpos($http_response_header[0], '200'); if ( $response ) { $dom = new DOMDocument(); $dom->loadHTML($html);
このようにしているとloadHTMLでdomのドキュメントを作成した際に、エンコードが崩れるという現象が出たため以下のように修正を加えました。
$html = file_get_contents($url, false, $context); $html = mb_convert_encoding($html, 'HTML-ENTITIES', 'ASCII, JIS, UTF-8, EUC-JP, SJIS'); $response = strpos($http_response_header[0], '200'); if ( $response ) { $dom = new DOMDocument(); $dom->loadHTML($html);
状況次第なのでしょうがエンティティが正常に判別されないケースがあるようなので、この方法が安全かと思います。
ディスカッション
コメント一覧
まだ、コメントがありません