MySQLのmy.iniファイルの置き場所と読み込み方について
- レンタルサーバーでMySQLを設置している場合、my.iniファイルの置き場所に注意が必要です。サーバーの見えない場所に設置する必要があります。また、呼び出すphpファイルと同じフォルダにmy.iniファイルを置いてもうまく読み込まれないことがあります。
- レンタルサーバーでutf8を推奨している場合、cp932を使いたくても文字化けしてしまうことがあります。そのため、my.iniファイルを個別に置くことで文字化け問題を解消しようとすることもあります。
- 同様の現象がphpでも起こることがあります。php.iniファイルをphpファイルが置かれているフォルダに配置することで、文字化け問題を解消することができます。
- ベストアンサー
my.ini ファイルの置き場所
レンタルサーバーで、MySQLを設置しています。 my.iniファイルもサーバーの見えない場所に設置してあります。 ですので、呼び出すphpの置いてある同フォルダに my.iniファイルを置きましたが、うまく読み込んでいないようです。 このような使い方は間違っているのでしょうか。 問題点は、レンタルサーバーでutf8を推奨しているため、 cp932を使いたくても、文字化けしてしまっています。 その為、my.iniファイルを個別に置こうとした次第です。 因みに、phpも同じような現象があり、php.iniをphpファイルが置かれている フォルダに配置し、cp932としたところ、いくつかの文字化け現象が 解消されました。
- mkhkck
- お礼率53% (21/39)
- MySQL
- 回答数1
- ありがとう数1
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
>このような使い方は間違っているのでしょうか。 間違ってる可能性がたかいです。 my.iniはmyslqdが起動時に参照するファイルですよね? どこにおいても関係ないでしょう。 php.iniに関してもいろんなとこに置く意味がよくわかりません。 .htaccessで処理を変えたり、PHPのコード内で設定を変更・追加したり するものですね
関連するQ&A
- mysqlのmy.iniを設定したら起動しない
phpからmysqlにデータをINSERTしたところ文字化けしたため、 my.iniに下記を追記しなければならないということを知り、設定しました。 [mysqld] default-character-set = utf8 skip-character-set-client-handshake [mysqldump] default-character-set=utf8 [mysql] default-character-set=utf8 ところが、my.iniファイルをちょっとでも編集すると、mysqlが起動しないというトラブルが発生しています。 mysqlからmy.iniファイル自体は見に行っているようなのですが、原因が分からず困っております。 環境は、 ・Windows7 Ultimate(64bit) ・Pleiades3.6 (Eclipse3.6 Helios) です。 お詳しい方からのご教示お待ちしております。
- 締切済み
- MySQL
- my.iniとSET NAMES
my.iniとSET NAMES SJIS について教えていただきたいことがあります。 my.iniに以下設定を追加で行いました。 [mysqld] character-set-server=utf8 [mysqldump] default-character-set = utf8 [mysql] default-character-set = utf8 データベースのAテーブルには、 No 商品 価格 1 冷蔵庫 1000 2 エアコン 800 というレコードが入っております。 コマンドプロンプトより、 1. cd C:\xampp\mysql\bin 2. mysql -u root -pnazonazo の二つのコマンドを実行後、 mysql> Select * from A; を実行したところ、日本語の商品列が文字化けしました。 No 商品 価格 1 文字化け 1000 2 文字化け 800 そこで、色々調べて 1. mysql> SET NAMES SJIS; 2. mysql> Select * from A; を実行したところ商品名の文字化けが直って表示されました。 No 商品 価格 1 冷蔵庫 1000 2 エアコン 800 質問1:SET NAMES SJIS;により、コマンドプロンプトでの文字化け原因が 解消されたと思うのですが、なぜだか理由が分からないのです。 「my.ini」とどのような関係があるのでしょうか。 情報を見つけたページでは、おまじないということで書かれていたのですが 解決された理由を知りたいのです。 質問2:PHPでも、SET NAMES SJIS; を使用するときがあるみたいなのですが 同じ効果があるのでしょうか。 どなたかお分かりのかたがいらっしゃいましたら ご教授お願いします。
- ベストアンサー
- MySQL
- XAMPPのmy.iniファイルについて
WindowsXPにXAMPPをインストールしました。 いまApache,php,mysqlの文字コードをEUC-JPに 統一する設定を行っています。 http.confの設定が終わり、mysqlの設定ファイルで あるmy.iniを編集しようとしたのですが、 ファイルが見つかりません。 本には、c:\WINDOWSフォルダにあると書いて あったのですが、、、、 yahooで検索したら、XAMPPではなくmysqlを単独で インストールした場合は、mysqladmin.exeを 実行すれば自動的にファイルが生成されるという ことだったので、試しにmysqladmin.exeを実行しましたがファイルは生成されませんでした。 XAMPPでmysqlをインストールした場合、my.iniファイルの生成はどのようにすればよいのでしょうか?
- 締切済み
- PHP
- my.ini 内を変更しても文字化けがなおらない
my.ini 内の [mysql]、[mysqld]、[mysqldump] の部分を変更したのですが、文字化けが直りません。 文字化けします。 対応:my.ini 内の [mysql]、[mysqld]、[mysqldump] の部分 ↓ [mysqld] default-character-set=utf8 skip-character-set-client-handshake [mysqldump] default-character-set=utf8 [mysql] default-character-set=utf8 に変更しましたが コマンドプロンプトで mysqlに接続後、statusと打ち込んで状態を確認しても Client characterset:latin1 Server characterset:latin1 となったままです。 とうすればよろしいでしょうか? 何卒よろしくお願い致します。
- 締切済み
- MySQL
- my.cnf と my.ini の違い
my.cnf と my.ini の違いがよく分かりません。 これらは同じものでしょうか? 最近、XAMPPを使用しており、以前に単独で入れたMySQLが不要になったのでアンインストールしたところ、XAMPPのMySQLのコマンドプロンプトからの操作が文字化けしてしまい、 ・my.cnf の [mysql] default-character-set=sjis ・chcp 65001 ・SET NAMES sjis 等を試して、丸一日格闘しましたが、解決せず、しかたなく再度単独でMySQLを入れて、パスを通し、my.ini に default-character-set=sjis 指定してやると文字化けが直りました。 問題は解決したのですが、使用していないMySQLが入っているので、気持ち悪いです。 my.ini は my.cnf より強いのですか? XAMPP内には、my.cnf しかないですが、これを、my.ini に変更することはできますか?
- 締切済み
- MySQL
- mysql-phpでの文字化け
自分のパソコンでは文字化けせず、正しく表示されているのですが、 niftyのデータサービスを使ってphpで表示すると文字化けします。 my.iniとmy.cnfの問題と思いniftyサーバーにftpで接続し探したがファイルが見つかりません。 mysqlとphpはutf8で設定しています。 niftyサーバーのmysqlは5、phpMyAdminは2,11,9です。
- ベストアンサー
- MySQL
- iniファイルを書き換えないと使いづらいと聞いた
phpを使うためにxamppをインストールしたら、 iniファイルを書き換えないと使いづらいと聞いたのですが どのファイルでしょうか? http://www.adminweb.jp/xampp/php/index2.html のように、php.iniでしょうか? http://www.adminweb.jp/xampp/mysql/index4.html のように、my.iniでしょうか? それとも http://qiita.com/guzuri/items/643c1311224e8d482278 のように、どちらもでしょうか?
- ベストアンサー
- PHP
- FFFTPでの、ファイル名の日本語化について
(1)PHPで、fopen($filename, 'c+')などして、自動的に、口コミ投稿ファイルなどの ファイルを作成する際に、投稿者名の漢字をそのままファイル名などにすると、 必ず文字化けしてしまいます。どうすれば、FFFTP内部で日本語のファイル名に できるでしょうか。 (2)MySQLクライアントを使って、レンタルサーバー上のデータベースを扱う際に、 INSERTしたデータが、文字化けして困っています。レンタルサーバー会社に聞くと、 サーバー側の文字セットに合わせておけばいいということでしたが、サーバー側で、 utf8-general-ci を使っているらしく、クライアント側でも、照合順序をutf8-general-ciに しまして、 mysql_set_charset("utf-8"); $sql = "SET NAMES utf-8"; mysql_query($sql); と書いたあとで、INSERT文を使っても、phpMyAdmin上で文字化けしております。 PHPスクリプト内に、あと何を書けば、文字化けしないで済むのでしょうか。 (ちなみに/* 内部文字エンコーディングをUTF-8に設定 */ mb_internal_encoding("UTF-8"); という文章も必要でしょうか。) どうかよろしくお願いします。
- 締切済み
- MySQL
- CSVファイルのデータが、データベース上で文字化け
CSVファイルのデータが、データベース上で文字化けする現象を解決したい! CSVファイルは、任意の場所にFTPソフトを使用してアップロードし、プログラム上でCSVを読み込むという手順です。 ■開発関係情報 phpは使用しておらず開発はperlを使用 開発プログラムの文字コードはEUC-JPで、出力されるHTMLの文字コードはShift-JISです。 (1)hetemlに設置した場合は正常に動作しました。 予め作成されていたデータベースのエクスポートファイルをインポートしてテーブルを作成しましたがインポート時のファイルの文字セットは「utf8」で、コーディングへの変換は「non」で実行しています。 MySQLバージョン:5.0.82 MySQLの文字セット:UTF-8 Unicode(utf8) MySQLの接続照合順序:utf8_unocode_ci phpMyAdmin - 2.11.11.3 MySQL クライアントのバージョン: 4.0.25 (2)無料のレンタルサーバー(国外)に設置すると文字化けします。 (1)と同じ手順で行うと、データベース上でCSVデータの日本語が文字化けします。 MySQLバージョン:5.1.65-cll MySQLの文字セット:UTF-8 Unicode(utf8) MySQLの接続照合順序:utf8_unocode_ci phpMyAdmin - 3.4.11.1 MySQL クライアントのバージョン: 4.1.22 そこでCSVをFTPでアップせずデータベースでインポート(ファイルの文字セット:utf-8、エンコーディングの変換なし)しようとすると「CSV入力のカラム数が不正です」というエラーになります。 色々と調べていると、文字コードをすべてEUCに統一すると文字化け解決と書いてあったので、CSVファイル・MySQLの接続照合順序・インポートするときの文字セットなどの思い当るところ全てをEUCに指定して、エンコーディングへの変換を「EUC」に「全角カナへ変換する」にチェックを入れて実行してみても、やはり「CSV入力のカラム数が不正です」エラーになります。 この時、フォーマット項目で「LOAD DATA文を使用したCSVの読み込み」を選択し、特有のオプションで「カラムの終端記号」を「,」「カラム囲み記号」を「"」に設定して、CSVファイルでは区切りを「,」と「","」の2パターンで試しても同じエラーでした。 また、気になる点としては、MySQLの文字セットはUTF-8のままでどうやって変更するのかがわかりません。 開発にphpは使用していなくても、phpmyadminを使用しているということはphp.iniの設定が必要ですよね? php.iniの設定は、権限が与えられていなければサーバー側で設定を行ってもらう必要があるのでしょうか?(初歩的な事ですみません) 試行錯誤していますが、解決法が分からず困っています。 どなたかご教示いただけませんでしょうか。 何卒よろしくお願い致します。
- 締切済み
- MySQL
- 文字化けに悩まされています。
一週間以上文字化けで悩まされています。 色々調べましたが、解決しなかったため、質問させて頂きます。 xamppでPHPからmysqlにデータを保存をした際、mysqlで文字化けを 起こしてしまいます。 ver1.7.1です。 文字化け対処方法は、my.iniの設定で [mysqld] character-set-server=utf8 skip-character-set-client-handshake 下の2行を追加しました。 他、[mysql][mysqldump]にdefault-character-setを追加しましたが 直らなかったため、コメントアウトしています。 phpファイルは全てutf-8で保存しています。 初心者故、大変申し訳ございませんが、ご教授いただければ幸いです。
- 締切済み
- その他(インターネット・Webサービス)
お礼
>yambejpさん ありがとうございます! そうですか、間違っているのですね。。。 その場合、レンタルサーバーの管理下にmy.iniがある場合、 設定を変更することは、不可能ということでしょうか? php.iniに関しては、何でかはわかりませんが、phpファイルのある フォルダに置いたら、文字化けの一部が解消されました。 意味はわかっていませんが。。。