
こんにちは、初めて質問させていただきます。
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 共に同値です。)
No.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」のように代替え文字を利用しようと思います。
No.1
- 回答日時:
それって、機種依存文字だからでは?
このサイトも、ギリシャ数字を入力すると
ギリシャ数字4 の場合は IV(アイ ブイ)に
○4 を は (4) に
強制的に変換されますよね
それと同じ事しなくちゃなりません
mb_convert_encoding()
では対応できないはず
機種依存文字のことは存じています。
Macintosh で表示できないのは納得できるのですが、
Windows で表示できなかったのがどうも納得できなかったのです。
変換をしている Linux では ○4 が扱えないのですね。
>> ○4 → (4)
この方法は最終手段として考えておきます。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) pythonのpandasのcsvの外部結合(outer_join)した際に列が想定とは異なる事象 1 2022/05/25 13:23
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- PHP PostgreSQLからCSV形式でエクスポートする際にカラム内の改行をとる方法 1 2023/02/22 10:05
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- PHP PHPでユーザー情報を入力して簡易ログイン機能をつくってみたのですが 1 2023/05/29 08:51
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- UNIX・Linux テキストファイルをページ番号付きでコマンドラインから印刷したい 1 2023/02/22 12:47
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
mb_ereg_replaceに関して
-
ASCII文字列のgrep
-
phpMyAdmin内での文字化け
-
multipart/form-dataの文字化け
-
マルチバイト文字列(PHP)
-
PHPでメール受信時にVISTAから...
-
includeファイルの文字コードに...
-
mb_regex_encodingでエンコード...
-
SQL Serverで文字コードUTF-8
-
ASCII文字列をEUCなどに変換し...
-
PHPスクリプトでエンコードエラー
-
文字変換
-
%uxxxxを日本語に変換
-
2つの検索フォームのリーベン...
-
PHP cURLでPOSTした値が文字化...
-
mb_eregを使っての文字列検索、...
-
VBAのコマンドボタンの文字列の...
-
全角括弧と全角読点の間隔を狭...
-
ソースコードの1行が長いとき...
-
改行を読み飛ばす
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
文字化け変換方法
-
PHPでのメール差出人名について
-
PostgreSQLからCSV形式でエクス...
-
PHP cURLでPOSTした値が文字化...
-
SJISからUTFに変換して...
-
SJIS→UTF-8変換後の文字化けに...
-
【PHP】mb_convert_encoding...
-
mb_regex_encodingでエンコード...
-
mb_send_mailの2重投稿を防止し...
-
mb_convert_encoding で 一部の...
-
PHPmailerでの添付ファイルの文...
-
includeファイルの文字コードに...
-
switch文の関数化
-
SQL Serverで文字コードUTF-8
-
phpのメールフォームの完了画面...
-
RSSを取得すると文字化けする。
-
Access VBA wiht文での実行時エ...
-
PHPでメール受信時にVISTAから...
-
mail()で送信したメールのタイ...
-
mb_ereg_replaceに関して
おすすめ情報