• ベストアンサー

PHP4.0.6をインストールしたのですが

PHP4.0.6をインストールしたのですが、mb_convert_encodingが利用できずエラーとなってしまいます。どういう原因でしょうか。なにか設定が必要でしょうか。

  • PHP
  • 回答数3
  • ありがとう数4

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

  • ベストアンサー
  • awap
  • ベストアンサー率100% (1/1)
回答No.3

Windows版PHP4.0.6(バイナリ)には、残念ながらmbstring関連のライブラリは同梱されておりません。 正式なものについては、次期バージョンまで待つ必要があります。 なお、PHP-users MLの過去ログで見たのですが、 Windows用にmbstring関連のモジュール込みでコンパイルされたものをアップされているサイトがありましたので、参考までに紹介させていただきます。 (ご利用はあくまでも自己責任にて…)

参考URL:
http://www.bekkoame.ne.jp/~bero/
shunet
質問者

お礼

そうだったんですか、、、 ありがとうございました、助かりました

その他の回答 (2)

noname#202350
noname#202350
回答No.2

外れていたらすいません。 私の知る限り2点、チェックポイントがあります。 ./configureを実行時にどのようなパラメータを指定していますか? 日本語(マルチバイト)を有効にするには以下の指定は必要なようです。 --enable-mbstring --enable-mbstr-enc-trans 次にphp.iniの設定もしたほうがよさそうです。 こっちの設定はいろいろあるようなので参考URLを参照してください。

参考URL:
http://www.php.net/manual/ja/ref.mbstring.php
shunet
質問者

補足

ウィンドウズなんですよ、、、php.netはある程度行ってるんですけど わからないんですよね

noname#9414
noname#9414
回答No.1

お使いのOSはなんでしょうか? Windowsでないならば、参考URLが参考になるかもしれません。参考URLの元サイト「日本PHPユーザ会」なら、かなりPHPのことが書かれているので、そこで質問した方がいいかもしれませんよ。ただし、検索することは大前提になりますが・・・ ではでは☆

参考URL:
http://ns1.php.gr.jp/pipermail/php-users/2001-July/000439.html
shunet
質問者

補足

windows です。URLと同じような状況かもしれません

関連するQ&A

  • PHPスクリプトでエンコードエラー

    (http://c-php.mine.nu/)で配布されている「貼り付けアンケート」を設置したところ、以下のようなエラーが出ました。 Warning: mb_convert_encoding(): Illegal character encoding specified in /home/toraya-c/public_html/harituke/harituke.php on line 94 Warning: mb_convert_encoding(): Illegal character encoding specified in /home/toraya-c/public_html/harituke/harituke.php on line 95 Warning: mb_convert_encoding(): Illegal character encoding specified in /home/toraya-c/public_html/harituke/harituke.php on line 96 Fatal error: Call to undefined function: mb_check_encoding() in /home/toraya-c/public_html/harituke/harituke.php on line 140 エンコードがうまくいってないようなのですが。。 指定の行数の記述は以下です。 $title = mb_convert_encoding($title,'EUC-JP',$en); $body = mb_convert_encoding($body,'EUC-JP',$en); $quest = mb_convert_encoding($quest,'EUC-JP',$en); if(!mb_check_encoding($body,'EUC-JP') || mb_check_encoding($body,'ASCII')){ 配布されているものを特に変えず(設定部分以外)、そのままupしたつもりですが、エラーの原因がわかりません。 当方、php初心者なので的外れな質問でしたら申し訳ございませんが、よろしくお願いします。

    • ベストアンサー
    • PHP
  • phpのmb_convert_encodingで文字化け

    phpのmb_convert_encodingで文字化け phpでmb_convert_encodingを使用してSJISよりUTF-8にエンコーディングしています。 ところが、“(”や“?”などが1文字目に存在すると文字化けしてしまいます。 どのような原因が考えられますでしょうか? お願いいたします。

    • ベストアンサー
    • PHP
  • mb_convert_encodingについて

    Fatal error: Call to undefined function: mb_convert_encoding() in c:\apache\htdocs\test\03-03\common.php on line 27 上記のエラーがでます。 mb_convert_encoding[文字エンコーディングを変換する] を利用するにはphp.iniで設定の変更などありますか?

    • ベストアンサー
    • PHP
  • PHP+Postgres 「髙」が文字化け

    DB上に格納した文字列を取得し、PHPで出力すると、 「髙」(はしごだか)等、一部の文字が「□・」のような見た目に化けてしまいます。 環境は以下です。 Linux(CentOS 5) PHP 5.1.6 Apache 2.2.3 PostgreSQL 8.4.3 文字コードは以下です。 Postgres:EUC-JP PHPソース:EUC php.ini の[mbstring]はコメントのまま変更していません。 文字コードの変換を試してみたのですが、「髙」としては出力できませんでした。 Windows上では「CP51932」に変換すると正常に出力できましたが、Linux上ではやはり駄目でした。 mb_language("uni"); mb_internal_encoding("euc-jp"); mb_http_input("auto"); mb_http_output("euc-jp"); $str = "髙橋"; print(mb_convert_encoding($str, "EUCJP-win")); print(mb_convert_encoding($str, "EUCJP-win","EUC-JP")); print(mb_convert_encoding($str, "SJIS")); print(mb_convert_encoding($str, "SJIS","EUC-JP")); print(mb_convert_encoding($str, "SJIS-win")); print(mb_convert_encoding($str, "SJIS-win","EUC-JP")); print(mb_convert_encoding($str, "UTF-8")); print(mb_convert_encoding($str, "UTF-8","EUC-JP")); print(mb_convert_encoding($str, "EUC","SJIS")); print(mb_convert_encoding($str, "Unicode")); print(mb_convert_encoding($str, "Unicode","EUC-JP")); print(mb_convert_encoding($str, "UTF-8", "sjis-win")); print(mb_convert_encoding($str, "CP51932")); print(mb_convert_encoding($str, "MS932")); print(mb_convert_encoding($str, "MS932","EUC-JP")); print(mb_convert_encoding($str, "UTF-8","EUCJP-win")); print(mb_convert_encoding(mb_convert_encoding($str, "EUCJP-win" ), "UTF-8","EUCJP-win")); print(mb_convert_encoding(mb_convert_encoding($str, "EUCJP-win","EUC-JP"), "UTF-8","EUCJP-win")); print(mb_convert_encoding(mb_convert_encoding($str, "SJIS-win" ), "UTF-8","SJIS-win")); print(mb_convert_encoding(mb_convert_encoding($str, "SJIS-win","EUC-JP"), "UTF-8","SJIS-win")); print(mb_convert_encoding(mb_convert_encoding($str, "SJIS-win" ), "EUCJP-win","SJIS-win")); print(mb_convert_encoding(mb_convert_encoding($str, "SJIS-win","EUC-JP"), "EUCJP-win","SJIS-win")); http://blog.livedoor.jp/loopus/archives/50160285.html 上記サイトによると、解決法は「EUC-JPで出力しないこと」という事でしたが、 文字コードを変換して出力できるような事を書いているサイトもあり、結論が出せずにいます。 ソースを書き換えるのは避けたいのですが、いい方法がありましたらご教示ください。

    • ベストアンサー
    • PHP
  • htmlはSJIS PHPはEUC mb_convert関数を使っても文字化けします

    htmlは、Shift-JISで作っています。 PHPは、EUCで作っています。 PHPのPOSTで、文字の部分は、 mb_convert_encoding($_POST[abc],"EUC","SJIS")です。 この関数であれば、文字化けしないはずなのですが・・・ フォームに「あいうえお」と入力すると、、「、、、ヲ、ィ、ェ  と入力されてしまいます。 PHP.iniを確認したのですが、mb_convert関数は有効になっています。 因みに、会社の上司もxamppを持っており、htmlとPHPファイルだけコピーさせてもらって、確認したのですが、同じ現象が起こります。 会社のPCと、インストールした物も設定もしたものも同じ。 文字に関わるPHP.iniやmy.confなどを、一応上書きさせてもらったのですが、変わりません。 会社のPCと、全く同じ設定なのに、何故、私のファイルだけ‥‥mb_convert関数が使えないのか? 私のhtmlかPHPに、何かがあるのでしょうか? htmlはMETAタグでSJISにしています。 原因不明で、どうしたらいいのかパニックしています。

    • ベストアンサー
    • PHP
  • Fedora 8 PHPインストール先

    os:Fedora 8 php:5.2.4 はじめまして、Linux初心者です。 PHPでエラーがでます。「 PHP Fatal error: Call to undefined function mb_detect_encoding() 」 php.iniを変更しても上手くいきません。 phpinfoを見てもmbstringがありません。 Fedora 8ではPHPは入っていたので自分でインストールしていません。 phpの再インストールをしたいですがどこにインストールされているのか解りません。/usr/share/の中に/phpや/php-cli-5.2.4がありますが、/usr/share と考えてよろしいでしょうか。 どなたか解る方いたらよろしくお願いします。

  • PHP + SQLite 文字化けについて

    SQLite と php5でデータベース管理画面を作っていますが、 日本では正常に表示されますが、 中国からアクセスすると文字化けしてしまいます。 文字はソース上で下記のように設定しています。 mb_convert_encoding($aaa,"SJIS","EUC-JP"); SQLiteが、SJISに対応していないと思い、 monospaceに変換するように下記のように変更しました。 mb_convert_encoding($aaa,"monospace","EUC-JP"); しかし、画面上で Warning: mb_convert_encoding() [function.mb-convert-encoding]: Unknown encoding "monospace" in C:\Apache Group\Apache2\htdocs\aaa\aaa.php on line XXX と出ます。 なにか解決策をご存知の方いらっしゃいましたら お教えいただけると幸いです。 どうぞよろしくお願いいたします。 なお、ページ自体の文字設定は、 <meta http-equiv="Content-Type" content="text/html; charset=S-JIS">となっているところ、 ソース変更にともないこちらも、charset=monospace">と変更しました。

    • 締切済み
    • PHP
  • PHPで変数の文字コードをまとめて変えたい

    初めまして、 PHPで変数 $a1から$a100 に入っている文字コードをまとめて変更したいのですが可能でしょうか? $a1 = mb_convert_encoding($a1, "SJIS", "auto"); $a2 = mb_convert_encoding($a2, "SJIS", "auto"); 上記のように$a1から$a100まで入力するしかないのでしょうか? 宜しくお願い致します。

    • ベストアンサー
    • PHP
  • phpでの受信

    ある質問ページでphpでの受信について、以下のような回答がありました。「サイトの代表アドレス」と「受け取る側のアドレス」は同じにしました。しかしエラーがでました。どこが間違いでしょうか ーーーーーーーーー 「フォーム」にname,subject,commentの欄があるとする。phpでの受信するには次のようなphpになります。 <?php $rp='-f サイトの代表アドレス'; $subject=mime(mb_convert_encoding($_POST['subject'],'JIS','UTF-8')); $body=mb_convert_encoding($_POST['name']."\n".$_POST['comment'],'JIS','UTF -8'); $head="Content-Type: text/plain; charset=ISO-2022-JP\nContent-Transfer- Encoding: 7bit"; mail('受け取る側のアドレス',$subject,$body,"From: サイトの代表アドレス\n".$head,$rp); ?> </body> </html>

    • ベストアンサー
    • PHP
  • PHPで受ける文字コードは何に依存する?

     例えばmb_convert_encoding()で変換するとき、元の文字コードは何に依存されるのでしょうか?  フォームで送る場合は、フォームページのHTMLのでmetaタグに指定されている文字コードになるんでしょうか?  charset=utf-8とmetaタグで指定されている場合、PHPのmb_convert_encoding()で受け取るときの変換前の文字コードはutf-8?  データをutf-8で扱いたいとき、フォームページをcharset=utf-8で作っておけば、mb_convert_encoding()でわざわざutf-8に変換するようにしておかなくても大丈夫ですか?

    • ベストアンサー
    • PHP