Linux(RedHat9)上のMySQL(ver 4.1.7)でsjisを使いたいのに使えなくて困っています。MySQLは標準でlatin1に指定されているので、日本語を用いたいため、sjisに変えようと思いました。よって、my.cnfの[mysqld]、[mysqldump]、[mysql]それぞれにdefault character set=sjisと記述したのですが、そうするとMySQLが起動できなくなりました。何故かと思い、上記の記述をやめて幾つか調べました。とりあえずmysql> status;では
Server characterset: latin1
Db characterset: latin1
Client characterset: latin1
Conn. characterset: latin1
そしてmysql> show character set;をしてみると、
Charsetの中に、ujisもsjisも入っていませんでした。よって、このMySQLがサポートしていないsjisを設定ファイルに記述しても起動できなくなる訳です。
他のどのPCのMySQLにもsjisなどは当たり前のように入って
いるのに・・。
mysql> set character set sjis;や
mysql> set names sjis;とやっても、以下のエラー。
ERROR 1115 (42000): Unknown character set: 'sjis'
このMySQLの状態を調べるため、mysql> show variables
ike 'char%';とすると、
Variable_name | Value
character_set_client | latin1
character_set_connection | latin1
character_set_database | latin1
character_set_results | latin1
character_set_server | latin1
character_set_system | utf8
character_sets_dir |
/usr/local/mysql/share/mysql/charsets/
となっています。このような状況で、どうやったらこの
MySQLはsjisを使えることができるようになるでしょうか。
どなたかお気づきの点でもあればアドバイスよろしくお願いします。m(_ _)m
No.2ベストアンサー
- 回答日時:
わたしはmysqlは3.23系でとめているのでやや
事情がことなるかもしれませんが、以下のように
コンパイルしています。
./configure --with-charset=ujis --with-extra-charsets=complex --prefix=/usr/local/mysql
make
make install
scripts/mysql_install_db
cp support-files/my-medium.cnf /etc/my.cnf
既存のデータはバックアップをとっておき、
インストール後var以下をコピーすればそのまま
運用できると思います。
sjisの文字化けについては漢字コードに「5C」
を含むものがエスケープされる問題があります。
具体的には「ソ噂構蚕十申貼能表暴予」など
けっこう普通に使う文字が化けます。
それらに対して対応を入れることもできますが、
eucにしておけば問題はありません。
yambejpさん、回答ありがとうございます。
コンパイル時の説明や、文字化けについての
例を挙げてくださり、勉強になりました。
MySQLがどうにもならなくなれば、
これらを行っていきたいと思います。
どうもありがとうございました。m(_ _)m
No.1
- 回答日時:
どこかを間借りしているのですか?
自分でインストールしましたか?
自分でなんとでもなるのであれば、とりあえず
--with-charset や --with-extra-charset
を指定して、ソースからmakeしなおした方が
よいのでは?
折角linuxでサーバー組むのならsjisより
ujisでなさることをおすすめしますけど。
結構漢字化けるので。
この回答への補足
yambejpさん、回答ありがとうございます。
自分でインストールしていません。
インストールした人はもういなくて・・。
mysql 4.1.7.tar.gzがあるので、ソースからコンパイル
したみたいです。
>自分でなんとでもなるのであれば、とりあえず
>--with-charset や --with-extra-charset
>を指定して、ソースからmakeしなおした方が
>よいのでは?
前に別のパソコンにコンパイルなんかを
したことがあるんですが、with-charsetとかは
そのコンパイルするときに指定するコマンドですよね?
って事は、ソースからmakeすると、作ったデータベース
はどうなるんですかね?
何分まだ勉強不足でして・・すいません。
>折角linuxでサーバー組むのならsjisより
>ujisでなさることをおすすめしますけど。
>結構漢字化けるので
sjisならよく漢字化けすると言うことですが、
よかったら、その例を教えてくださいませんか?
きっといい勉強になると思うので・・。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) mariadbでのエラー 1 2022/11/15 12:31
- MySQL SHOW CREATE TABLE posts;これって何ですか? 3 2022/08/28 22:57
- MySQL 参考書に従って入力したつもりでしたが、最後はエラーがでました。 1 2022/09/28 03:45
- MySQL MySQLのテーブル作成でハイフン - は使用できないのでしょうか? 2 2022/10/21 16:50
- MySQL 共通点はあります。何が違うのでしょうか? 1 2023/01/27 05:22
- MySQL mysqlがインストールされているのかどうか 1 2023/06/05 14:19
- MySQL mysqlがインストールされているのかわかりません 1 2023/06/05 02:26
- PHP PHP & MySQL: Server-side Web Development ペーパ 1 2022/04/19 19:23
- MySQL XamppでインストールしたMySQLのフォルダのWinRARでのバックアップについて 1 2022/06/22 18:55
- MySQL MYSQL エラー 2 2022/10/18 11:37
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで連勤チェックをした...
-
接続ができません
-
SQLのVARCHARとVARCHAR2の違い
-
Column '' not found.
-
MySQLのfield数の上限について
-
ADOのバージョンを確認する方法
-
-3.34 が -3.3399999999999999 ...
-
2023年10月25日現在のMAMP ...
-
php+MySqlでの検索ページ
-
データベースについて質問させ...
-
データベースのフィールドのデ...
-
UTF-8にしても文字化けが直らない
-
泣きそうです>< PHPでSQLite3が...
-
MySQL のコマンドが実行出来ま...
-
VBAで変数内に保持された二次配...
-
日本語のデータがインポートで...
-
Float型の時の計算結果がおかしい
-
MySQLサーバのコンピュータ名変...
-
「・」中点が入った文字列を条...
-
SQL開発環境ソフトウェアである...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
like句を使って日本語を検索す...
-
my.cnf と my.ini の違い
-
エクセルで連勤チェックをした...
-
ODBC接続で全角文字が文字化け
-
windows上のphpにおける全角ハ...
-
phpMyadminでのMySQLの文字セット
-
phpMyAdminのデフォルトのLangu...
-
netscreen remoteに関して
-
文字コード変更
-
MYSQLの文字化けについて
-
接続ができません
-
SQLのVARCHARとVARCHAR2の違い
-
副問合せにLIKE文を使う方法は...
-
ODP.NETのバージョン確認
-
ERROR 1045 (28000) (using pas...
-
VBAで変数内に保持された二次配...
-
MySQLカラム名は日本語と英数字...
-
INT型は金額の型に使用するべき...
-
プライマリーキーの昇順でソー...
-
Float型の時の計算結果がおかしい
おすすめ情報