• ベストアンサー

エヴァ・グリーンで全角空白を消すと、文字化けします。

ごきげんよう。 前提として、空白文字' 'を消したいのですが、特定の文字の組み合わせだと文字化けしてしまいます。 文字コードは、EUCを使っています。 調べた所、”ァ”の後半と”・”の前半が合わさると、空白文字と同じだから、空白文字を消してしまうと、文字化けてしまう、という事は分かりました。 具体的には、 「エヴァ・グリーン」 なのですが、根本的な解決方法を教えてください。

noname#25295
noname#25295
  • PHP
  • 回答数2
  • ありがとう数3

質問者が選んだベストアンサー

  • ベストアンサー
noname#30334
noname#30334
回答No.1

どのようにして、全角空白を消していらっしゃいますか? ちなみに以下の方法だと、上手くいきます。 <?PHP $str = "エヴァ・グリーン"; print mb_ereg_replace(" ", "", $str); ?>

noname#25295
質問者

お礼

ごきげんよう。 $str = ereg_replace (' ', '', $str); と、していました。 マルチバイトの事をすっかり忘れていました。 ありがとうございました。

その他の回答 (1)

回答No.2

tdshさんの回答と若干かぶりますが、 <?PHP $str = "エヴァ・グリーン"; $str = mb_convert_encoding($str, 'EUC-JP', 'auto'); print mb_ereg_replace(" ", "", $str); ?> 一度、$strをEUCとして認識させた方がいいかもしれません。

noname#25295
質問者

お礼

ごきげんよう。 一応、文字コードは下記の方法で処理をしています。 mb_detect_order("EUC-JP,SJIS,UTF-8,ASCII,JIS"); $str=mb_convert_encoding($str,"EUC-JP",mb_detect_encoding($str)); auto でも、いいようなのですが、誤認識もあるとききますので。 ページもスクリプトも、データもEUCで統一しています。 マルチバイトを忘れていました。 ありがとうございます。

関連するQ&A

  • DreamWeaverの文字化け

    DreamWeaverでHTMLファイルを開こうとすると、 HTMLファイルの文字コードによって 文字化けしてしまいます。 具体的には、EUCとシフトJISで作成されたファイルを編集しようとすると、文字化けします。 どの文字コードのファイルを開いても 文字化けしない方法はあるのでしょうか。 宜しくお願いします。

    • ベストアンサー
    • CSS
  • サンダーバードで、全角8文字以降が、文字化け。

    いつもお世話になってます。 さて、PHPで、メールフォームを作ったのですが、 クライアントのメールソフトが、サンダーバードで、 件名の全角8文字以降が、文字化けするようです。 (Outlock等では、文字化けしません) 解決策をご存知の方がいましたら、教えて下さい。 また、環境の情報で不足がありましたら、ご連絡ください。 宜しくお願いいたします。 【環境】 サーバ WebARENA SuiteX PHP 文字コード EUC-JP http://www.arena.ne.jp/suitex/index.html 【htaccessに記載内容】 php_value mbstring.encoding_translation On php_value mbstring.internal_encoding EUC-JP php_value mbstring.http_output EUC-JP php_value mbstring.script_encoding EUC-JP

    • ベストアンサー
    • PHP
  • HTMLの文字化けについて

    HTMLの文字化けについて クライアントPC(WindowsVista)で作成したHTMLファイルをサーバ(CentOS5.4)にアップして、ブラウザから確認してみたところ、文字化けを起こしてしまいました。 ローマ字は問題ないのですが、日本語が文字化けしてしまっており、表示がめちゃくちゃになってしまっています。 HTMLはK2Editorにて作成して、文字コードはShift-JIS、改行コードはCRLFとしております。 しかし、文字化けした状態でブラウザの文字エンコーディングをEUC-JPに変えて再度読み込んでみたところ、文字化けせずに表示されます。 サーバ側の文字コードは、 # vi /etc/sysconfig/i18n LANG="ja_JP.EUC-JP" と設定し、デフォルトのUTF-8からEUC-JPに変えております。 なので、もしかしたらサーバ側の文字コードとHTMLの文字コードが何か関係しているのかと私は思うのですが・・・ 文字化けの原因がお分かりになる方いらっしゃいましたら、ご教授のほどお願い致します。

    • ベストアンサー
    • HTML
  • 文字化けについて

    PHP5 MySQL5 phpMyAdmin の3種でシステム構築を行っていました。 この度新しいPCで環境を設定した所、文字化けが起きてしまいました。 構築した以前のローカル環境と各バージョンや設定は同じはずなのですが、文字化けに悩まされています。 具体的には、MySQLはEUCでPHPはShift_JISにて構築しています。 システムの構造は、Shift_JISをMySQLに挿入する際はEUCに変換して格納しています。 文字化けは、phpMyAdminでは正常にみれるものがシステムをブラウザから確認すると日本語が全て???に文字化けしてしまっています。 そこで、phpMyAdminからDBの文字コードをlatin1にした所、今度はphpMyAdmin上で文字化けし、ブラウザ上からは正常にみえるといった状態です。 数日格闘しているのですがお手上げ状態です。 どなたかアドバイス頂ければ幸いです。

    • 締切済み
    • PHP
  • ホームページのソースが文字化けします。

    ホームページのソースが文字化けします。ほとんどのページでは文字化けしていません。文字コードがeuc-jpになっているためだそうです。 どうすればよろしいでしょうか。

  • 文字化けについて

    お世話になっております。 文字化けに関して対策方法が分からず困っております。 というのも、当方で作成したスクリプト(EUCで記述し、開発環境のmbstring.http_outputもEUC)があるのですが、このスクリプトを知人が借りているレンタルサーバーにアップさせると、文字化けしてしまう現象が起きています。(他のサーバーにもアップしてテストしているが文字化けは初めて) このスクリプト、全て単体で動かすためのものですが、html部の <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP"> これくらいしか、文字コードの指定はしていませんが、これだけでは不足なのでしょうか? 以上、些か漠然とした質問ではありますが、今回の文字化けする原因など、考えられる要因など御座いましたらどんな些細なことでも結構です。アドバイスのほど頂戴出来れば幸いです。宜しくお願いいたします。

    • ベストアンサー
    • PHP
  • 特定文字での文字化け

    DB(oracle)から抽出したものをPerl5でcsv出力しているのですが、特定文字で文字化けが起こってしまいます。 特定文字というのが、シフトJISの「拡張文字」と言われているものにあたるらしく、 0xED40~0xED9Eとか0xFA40~0xFA9Eとかです。 0xED40→ス、0xED9E→シ、0xFA40→。、0xFA9E→.となってしまいます。(文字を出したかったのですが、表示されなかったので文字コードにしました。) $strをDBより抽出した文字列として jcode::convert( \$str, "euc" ); : :(文字列の区切り処理) : jcode::convert( \$str, "sjis" ); ということをやっています。 以前、 &jcode'convert( $str, "euc" ); : :(文字列の区切り処理) : &jcode'convert( $str, "sjis" ); とやっていたのですが、この場合、 「半角カナ+文字コードが7cを含む文字」 が文字化けを起こしていました。 これを修正するために前者のような修正をしたのですが、 間違っているのでしょうか? すみませんが、よろしくお願いします。

  • 文字化けの防止法

    ネット上のサイトから、特定の情報を取り出し、その情報のファイルを作成し、保存するというプログラムを作っています。 取得するサイトの文字コードは、 <meta http-equiv="Content-Type" content="text/html; charset=x-euc-jp"> と指定されていました。 IEでこのページを開くと、エンコードは自動選択で「EUC」になっていました。 さて、php_editor の文字コードを「UTF-8」に指定し、プログラムを作成しているのですが、 全角文字の含まれた文字列を取得し、表示させようとすると、文字化けしてしまいます。 (このときの表示画面は、http://localhost/~です) 設定を変更していると、IE(http://localhost/~)の表示の文字化けも進み、そのときのIEの エンコードを確認すると、中国語系や西ヨーロッパ系のものになっていることがありました。 文字化けさせない手順や、設定はどのように行えばいいのでしょうか?

    • ベストアンサー
    • PHP
  • メールの件名が文字化けします

    はじめまして。 ホームページのリンクをクリックすると、メーラーが立ち上がってメールを送れるようにするのを作っています。 ↓こんな感じです。 <A HREF="maito:受信先メールアドレス?subject=件名">メールはこちら</A> ですが、件名が文字化けしてしまうのです。 HTMLをEUCコードで書いているのですが、 これが原因なのでしょうか? 今作ってるホームページの文字コードはEUCでないとダメと言われているので、EUCでないといけないのです。 もしどなたか解決策をご存知の方がいれば助けて下さい。 よろしくお願いします。

  • 文字化けについて

    お世話になります 携帯サイトの文字化けに困っています。 MysqlのデータはEUC-JPなので 携帯サイトにデータを出力するのにShift-JSにしないと文字化けするというところまで調べました。 function cnv_dispstr($string) { // 文字コードを変換する $det_enc = mb_detect_encoding($string, "Shift-JIS,EUC-JP"); if ($det_enc and $det_enc != ENCDB) { return mb_convert_encoding($string, ENCDB, $det_enc); } else { return $string; } } このようにしたのですが、 Mysqlから出力したデータ部分の文字化けが解決しません。 アドバイスよろしくお願いします。

    • ベストアンサー
    • PHP

専門家に質問してみよう