• 締切済み

WordPressをWindowsサーバにインストールする際のPHPの日本語設定。

いつもお世話になります。 さて、現在、WordPressをWindows 2003にインストールしておりまして。 インストール事態は、完了したのですが、ブログタイトルや、記事の日本語での入力ができず、入力しても、空になってしまいます。 本件の対応として、通常は、htaccessや、php.iniの設定を行えばいいそうなのですが、サーバがapacheでないため、できません。 代替方法として、試したことは、ini_set()での設定。 しかし、mbstring.encoding_translationの変更は行えませんでした。 対応方法をご存知の方がいらっしゃいましたら、教えてください。 宜しくお願いいたします。 【環境】 PHPバージョン:4.4.7 OS:Windows 2003 レンタルサーバ:DOSABA http://www.dosaba.com/ MySQL:外部サーバへリモート接続 文字コード:UTF-8 【ini_set()で設定可能なもの】 default_charset mbstring.http_input mbstring.http_output mbstring.internal_encoding その他、必要な情報がありましたら、ご指示ください。

  • myssl
  • お礼率100% (5/5)
  • PHP
  • 回答数1
  • ありがとう数1

みんなの回答

  • shimix
  • ベストアンサー率54% (865/1590)
回答No.1

自社サーバなら仕方ないですが、レンタルサーバでわざわざWindowsサーバでWordpressを動かすというのはちょっと不思議です。 「ASPを使いたい」ということでWinサーバを選択されたとは思いますが、Wordpress用にサブドメインを(自社ドメイン運用ですよね?)他サーバに割り当てるなどを考えた方が手っ取り早くないですか?

myssl
質問者

お礼

shimixさん、ありがとうございます。 大人の事情がありまして、できるだけ現在使用しているサーバのままで、構築したいのですよ。

関連するQ&A

  • php5とmysql5の設定

    eucjpで記述したphpのフォームからmysqlにデーターを格納して取り出すDBがあり、日本語表示が化けない設定は出来たのですが同じphpから検索をするとヒットしません。 同じphpスクリプトで別のサーバー(phpとmysqlは同じバージョンです)では問題なく稼働していたので現在のサーバーのphp.iniとmy.cnfの問題だと思うのですが他の似たような状況の方の解決策をなぞってeucjpに統一するなど一通り試したのですがどうもうまく行きません。 ちなみにサーバーは自サーバーでApache/2.2.3 (Debian) 、PHP/5.2.0-8+etch7、mysqlは5.0.32です。 php.iniは mbstring.language = Japanese mbstring.internal_encoding = EUC-JP mbstring.http_input = auto (EUC-JPにすると入力後?になる) mbstring.http_output = EUC-JP mbstring.encoding_translation = On mbstring.detect_order = auto mbstring.substitute_character = none; my.cnfは [client] default-character-set= ujis [mysqld] skip-character-set-client-handshake default-character-set = ujis character-set-server = ujis [mysql] default-character-set = ujis です。よろしくお願いします!

    • 締切済み
    • PHP
  • PHPの内部文字コードを設定できない

    環境はWindows 8.1+PHP 7.0.1です。 php.iniのmbstring.internal_encodingがPHP5.6で非推奨になったので、 default_charsetで文字コードを設定しています。 ところが、default_charsetの値を変えても、以下の結果が変わりません。 echo mb_internal_encoding(); mbstring.internal_encodingを変更すると、確かに反映されるのですが、 default_charsetの値はmb_internal_encoding()には反映されないのでしょうか。 もともとは、mb_check_encodingで判定に利用する文字コードを、php.iniで設定したかったのですが、現在はこれを利用するにはやはりmbstring.internal_encodingから指定しなければならないのでしょうか(現在は常にUTF-8でチェックしているようです)。

    • ベストアンサー
    • PHP
  • MySQL4.1の日本語化

    自分で出来るところまでやったのですが、日本語を入力すると???となってしまいます。以下に状況を挙げますので、知識のある方は知恵をお貸し下さい。 version:Mysql4.1.20,php5.2.2 OS:CentOS 4.4 my.cnfにおいて [mysqld] default-character-set = utf8 [mysqldump] default-character-set = utf8 [mysql] default-character-set = utf8 Php.iniにおいて mbstring.internal_encoding = EUC-JP ;mbstring.http_input = auto mbstring.http_output = EUC-JP ↓↓ mbstring.internal_encoding = UTF-8 ;mbstring.http_input = auto mbstring.http_output = UTF-8 ;iconv.input_encoding = ISO-8859-1 ;iconv.internal_encoding = ISO-8859-1 ;iconv.output_encoding = ISO-8859-1 ↓↓ iconv.input_encoding = UTF-8 iconv.internal_encoding = UTF-8 iconv.output_encoding = UTF-8 PHPスクリプトに関して、SET NAMESとキャラクタセットをUTF-8とする。 という感じです。 show variables like 'character%';を行うと +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | utf8 | | character_set_results | utf8 | | character_set_server | utf8 | | character_set_system | utf8 | | character_sets_dir | /usr/share/mysql/charsets/ | +--------------------------+----------------------------+ という感じです。 何が原因なのでしょうか。。初心者ではありますが、素人なりに設定はあっていそうな気がします。詳しい方は何卒よろしくお願いします。

    • ベストアンサー
    • MySQL
  • 日本語が使いたいのですが[mbstring]設定がわかりません

    環境は winxp sp2 apache 2.0.54 php 5.0.4 argosoftmailserver php.iniの設定は [mbstring] mbstring.language = Japanese mbstring.internal_encoding = EUC-JP mbstring.http_input = auto mbstring.http_output = SJIS mbstring.encoding_translation = Off mbstring.detect_order = auto mbstring.substitute_character = none です。足らない事があればお願いします。 下はphpの文です。 <?php $subject = "テスト"; $message = "あいうえお"; $test="日本語エンコーディングテスト"; print "$test (" . mb_detect_encoding($test) . ")<br>"; print ("mbstring.http_input=". mb_http_input() ."<br>"); print ("mbstring.http_output=". mb_http_output() ."<br>"); print ("mbstring.internal_encoding= ".mb_internal_encoding()."<br>"); $subject = mb_convert_encoding($subject, "SJIS", "EUC-JP"); $message = mb_convert_encoding($message , "SJIS", "EUC-JP"); mb_language("Japanese"); $chk = mb_send_mail('******@*******',$subject,$message,'From:***@******.dyndns.org'); if($chk==FALSE) { print "送信失敗"; } else { print "送信完了"; } ?> エンコードテストの結果は以下です。 日本語エンコーディングテスト (SJIS) mbstring.http_input= mbstring.http_output=SJIS mbstring.internal_encoding= EUC-JP よろしくお願いします。

    • ベストアンサー
    • PHP
  • mysqlでの日本語文字化けについて

    以下の設定でmysqlから日本語をひっぱってうまく表示できません。 どこの設定を修正していいのか教えていただけますか? 多分、latin1なんでいけないんだと思うのですが、、。 mysqlの設定 | character_set_client | latin1 | character_set_connection | latin1 | character_set_database | latin1 | character_set_results | latin1 | character_set_server | latin1 php mbstring.detect_order no value no value mbstring.encoding_translation On On mbstring.func_overload 0 0 mbstring.http_input auto auto mbstring.http_output EUC-JP EUC-JP mbstring.internal_encoding EUC-JP EUC-JP mbstring.language neutral neutral mbstring.substitute_character no value no value

  • 日本語表示ができない

    こんばんわ。 winXP+apache2.2+php5で日本語が表示されません。 UTF-8で設定したいのですが、 C:\WINDOWS\php.iniの設定>下記はとあるサイトを参考にしました mbstring.language = Japanese mbstring.internal_encoding = UTF-8 mbstring.http_input = pass mbstring.http_output = pass mbstring.encoding_translation = Off mbstring.substitute_character = none mbstring.detect_order = UTF-8,SJIS-win,eucJP-win     or mbstring.detect_order = UTF-8 C:\WINDOWS\system32\php_mbstring.dllに入れました。 ですが、php_infoで確認してもmb_系が全くでてきません。 何か他の設定(抜け?)があるのでしょうか?

    • 締切済み
    • PHP
  • FORMからの文字入力文字化け

    「.htaccess」で設定した場合、正常に動作するのですが、「自作スクリプト内」でPHP環境を設定すると文字化けします。 フリーの掲示板が「.htaccess」で設定した場合、文字化けしますので、自作スクリプトも今回からスクリプト内部からPHP環境を設定し動作確認をしています。 FORMからの文字入力だけが文字化けしてしまうのですが、解決方法が見出せずに困っています。 また、「mbstring.encoding_translation」の設定方法がわからずに設定していないため、入力文字化けするのでしょうか。 表示だけは、文字化けせずに表示されます。FORMからの入力文字だけが文字化けします。 解決方法をご存知の方がいらっしゃいましたらご教授のほど宜しくお願いします。 # .htaccessで設定する場合 php_flag output_buffering "On" php_value output_handler "mb_output_handler" php_value default_charset "Shift_JIS" php_value mbstring.language "Japanese" php_value mbstring.internal_encoding "EUC-JP" php_value mbstring.http_input "auto" php_value mbstring.http_output "SJIS" php_value mbstring.detect_order "auto" php_flag mbstring.substitute_character "none" php_flag mbstring.encoding_translation "On" # 自作スクリプト内で設定する場合 ini_set("output_buffering", "On"); ini_set("output_handler", "mb_output_handler"); ini_set("default_charset", "Shift_JIS"); mb_language("Japanese"); mb_internal_encoding ("EUC-JP"); mb_http_input("auto"); mb_http_output("SJIS"); mb_detect_order("auto"); mb_substitute_character("none"); ob_start("mb_output_handler");

    • 締切済み
    • PHP
  • Linuxサーバ接続とWindows単独で開発時のphpの文字コード

    FC4サーバとwindows機をハブでつないでPHP+mysqlを学んでいます。 サーバにアップロードする前提でeuc-jpで保存したPHPスクリプトとmysql文をwindows機単体で開くと、日本語が文字化けします。 php文はその都度euc-jp,SJISで保存し直せば、取り敢えず、問題は回避できますが、mysqlはどのようにすれば良いでしょうか。 諸先輩は、linux(UNIX)にアップするPHPスクリプトとmysql文を、windows機単体で開発するとき、どのような環境設定をしておられるのでしょうか。教えて頂ければ有難いです。私の現在の設定状況は次の通りです。 php.ini サーバ、windows(クライアント)共に、 [mbstring] mbstring.language = Japanese mbstring.internal_encoding = EUC_JP           mbstring.http_input = auto               mbstring.http_output = SJIS    mbstring.encoding_translation = On            mbstring.detect_order = auto               mbstring.substitute_character = none; であり、その他に サーバを mbstring.func_overload = 1          クライアントは ;mbstring.func_overload = 0 としてコメントアウトしています。   ----------------------- サーバの/etc/my.cnf old_password=1の下に default default-character-set=ujis と追記し、更に [client],[mysql],[mysqldump]の各項を新設して、それぞれに、やはりdefault default-character-set=ujis と書き加えています。 クライアントの my.ini [mysqld]default-character-set=sjis [mysql]default-character-set=sjis [mysqldump]default-character-set=sjis としてあります。

    • ベストアンサー
    • PHP
  • さくらインターネットでphp.iniの設定が反映されない

    いつもお世話になっています。 さくらインターネットの共用サーバにPHP5,PEARをインストールし、 PHPプログラムにて、mb_convert_encoding()を実行すると、 Warning: mb_convert_encoding() [function.mb-convert-encoding]: Unable to detect character encoding in ・・・ と表示されました。 php.iniの設定内容を疑って、内容を確認したところ、 さくらインターネットのコントロールパネルからphp.iniを更新しているのですが、 phpinfo()で見るとmbstringの設定項目が反映されていないのです。 ■phpinfo()の表示内容: Multibyte Support enabled Multibyte string engine libmbfl Multibyte (japanese) regex support enabled Multibyte regex (oniguruma) version 4.4.4 Multibyte regex (oniguruma) backtrack check On Directive Local Value Master Value ------------------------------------------------------------- mbstring.detect_order no value no value mbstring.encoding_translation Off Off mbstring.func_overload 0 0 mbstring.http_input pass pass mbstring.http_output pass pass mbstring.internal_encoding ISO-8859-1 no value mbstring.language neutral neutral mbstring.strict_detection Off Off mbstring.substitute_character no value no value ■php.iniの中の下記の設定項目が反映されていることは確認できました。 cgi.fix_pathinfo=1 register_long_arrays = on ■mbstringのphp.iniでの設定は下記の通りです。 mbstring.language = Japanese mbstring.internal_encoding = EUC-JP mbstring.http_input = auto mbstring.http_output = SJIS mbstring.encoding_translastion = On mbstring.detect_order = auto mbstring.substitute_character = none; ■phpinfo()で表示したその他の項目 ・PHP Version 5.2.1 ・FreeBSD ・Configuration File (php.ini) Path /home/example/www/php.ini -------------------------------------------------------------- さくらインターネットのコントロールパネルからphp.iniを更新すると通常は実行時に反映されるのですが、 なぜ、mbstringに関しての設定が反映されないのか、どうすれば反映されるようになるか、わかる方がいらしたら教えてください。

    • 締切済み
    • PHP
  • 【PHP】fgetsした際に「CR/LF」だけを改行と認識したい。

    【PHP】fgetsした際に「CR/LF」だけを改行と認識したい。  fgetsで1レコードを読んだ際に、現在は「CR/LF」および「LF」が改行として認識されています。  これを「CR/LF」のみ改行という認識に改めたいのですが、php.iniの設定で行えるのでしょうか。  もしくは、別の方法で実現出来るのでしょうか。  ご存知の方がいらっしゃいましたら、ご回答頂けると幸いです。 【環境】 ・PHP Version 5.2.5 ・サーバ WindowsServer2003 + IIS ・文字コード PHP=S-JIS ブラウザ=S-JIS 【php.iniの主な設定】 output_buffering = off default_charset = Shift_JIS extension = php_mbstring.dll mbstring.language = Japanese mbstring.internal_encoding = SJIS mbstring.http_input = auto mbstring.http_output = SJIS mbstring.encoding_translation = On mbstring.detect_order = auto mbstring.substitute_character =none

    • ベストアンサー
    • PHP

専門家に質問してみよう