アプリ版:「スタンプのみでお礼する」機能のリリースについて

こんにちは、初めて質問させていただきます。

PHPでテキストファイルに保存されたEUC-JPの文字列情報を
UTF-8で表示しようとしています。
第一水準、第二水準程度の日本語は問題なく変換ができてるのですが、
「(7)」や「VII」などの特殊な記号文字が変換できないようです。

これは mb_convert_encoding の仕様なのでしょうか?
ご存知でしたらご教授お願いいたします。

【ソース】
$buffer = "マル4→(4) ギリシャ4→IV 郵便番号→〒 株式会社→(株) \n";
echo mb_convert_encoding($buffer, "utf-8", "euc-jp");

【出力結果】
マル4→? ギリシャ4→? 郵便番号→〒 株式会社→?

【環境情報】
Linux
(OS、バージョン詳しくは分かりません。)

PHP Version 4.3.9

mbstring.detect_order      no value
mbstring.encoding_translation  Off
mbstring.func_overload      0
mbstring.http_input       pass
mbstring.http_output       pass
mbstring.internal_encoding    EUC-JP
mbstring.language        Japanese
mbstring.script_encoding     no value
mbstring.substitute_character  no value
(Local Value、Master Value 共に同値です。)

A 回答 (2件)

こんにちは。



> "マル4→(4) ギリシャ4→IV 郵便番号→〒 株式会社→(株)

これらは機種依存文字ですので、使えないのではないかと思います。

PHPユーザーメーリングリストの過去検索を貼り付けておきますので、参考にしてみてください。

ちなみに、下記URLの過去検索をすると、機種依存文字があるかどうかをチェックして、はじく or 変換する、というコトはされてるみたい。

それでは。

参考URL:http://ns1.php.gr.jp/mailman/namazu.cgi?idxname= …

この回答への補足

$buffer = "マル4→(4) ギリシャ4→IV 郵便番号→〒 株式会社→(株) \n";
echo mb_convert_encoding($buffer, "utf-8", "eucJP-win, euc-jp");

という形にすることである程度の文字変換に対応できました。
ギリシャ4の小文字→iv には対応できませんでしたが、このようなイレギュラー文字は「教えて!goo」のように代替え文字を利用しようと思います。 

補足日時:2005/05/16 11:25
    • good
    • 0
この回答へのお礼

ありがとうございます。参考にさせていただきます。

お礼日時:2005/05/16 11:11

それって、機種依存文字だからでは?



このサイトも、ギリシャ数字を入力すると
ギリシャ数字4 の場合は IV(アイ ブイ)に
○4 を は (4) に
強制的に変換されますよね
それと同じ事しなくちゃなりません

mb_convert_encoding()
では対応できないはず
    • good
    • 0
この回答へのお礼

機種依存文字のことは存じています。
Macintosh で表示できないのは納得できるのですが、
Windows で表示できなかったのがどうも納得できなかったのです。

変換をしている Linux では ○4 が扱えないのですね。

>> ○4 → (4)
この方法は最終手段として考えておきます。
ありがとうございました。

お礼日時:2005/05/16 09:21

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!