shift-jisで作成したcsvを、MySQLへ"load data infile"し、perlにて query("select * from... ) で検索一致したものを、
"Content-type: text/html;charset=Shift_JIS\n\n"のHTMLで表示させたところ、???と表示され、文字化けしてしまっております。日本語が入る部分のcreateした型はtext型です。
しかし、"Content-type: text/html;charset=EUC-JP\n\n"ですと、正しく検索され、日本語表示されてました。このままEUCでいきたいところですが、作業の都合上、HTMLをsjisで表示させなければならず対策に行き詰っております。
環境ですが、レンタルサーバのRedHat(versionは失念...)、MySQLのcharsetは、
mysql>show variables like 'char%';
character_set_client ujis
character_set_connection ujis
character_set_database ujis
character_set_results ujis
character_set_server ujis
character_set_system utf8
perl, MySQLのバージョンは以下です。
o perl-5.8.0-88.4
o mysql --version
Ver 14.7 Distrib 4.1.14, for pc-linux-gnu (i686) using EditLine wrapper
レンタルサーバである事と、別の運用中サーバが既にMySQLを利用中であるため、再コンパイルをせずに、影響が無い範囲でどうにか日本語文字化けを改修できないか、過去の本サイトの過去質問も読み返しまして、
変換ライブラリjcode::convert(\$str,'sjis','euc')
や、perlスクリプトのDB connect直後に、
query("set names sjis")
query("set character set sjis")
なども行いましたが症状は変わらず、まだ解決に至っていない次第です。
#過去質問の見落としかもしれません。。。
何卒ご教授よろしくお願いします。m(_ _)m
情報の不足があればご指摘下さい。
No.2ベストアンサー
- 回答日時:
データベースを作成する際かテーブル作成の際に
CHARACTER SET sjis
を指定して、sjisで作成してはいかがでしょうか?
また、clientで接続する際にも、sjisで接続して
loadでデータを流し込んで見てください。
この回答への補足
ご回答ありがとうございます!
ご教授いただいたとおりに、
1. create table時に、
mysql> create table a_list (
-> id int(10) not null,
-> comment text not null,
-> )character set sjis ;★
として作成し、
2. load data時に
(これもperlで組んでいるのでおりまして)
$dbh = Mysql->connect( ...) or die("...");
$dbh->query("set character set sjis") ;★
$dbh->query("load data infile '$base/db/alist.csv' into table a_list fields terminated by ',' lines terminated by '\r\n'") or die("...");
としましたが、まだ化けている状態です。。。
やり方に問題などありましたら、ご指摘下さい。
文字化け改修できました!
naochancomさんのコメントで、"データベースを作成する際かテーブル作成の際"の後者しか実施しておらず、前者すなわちデータベース作成の時点で、character set sjis したらうまくいきました。大変ありがとうございました!!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PostgreSQLからCSV形式でエクスポートする際にカラム内の改行をとる方法 1 2023/02/22 10:05
- MySQL php テーブルを作れない 2 2022/11/17 18:22
- PHP php テーブルが作成できない 1 2022/11/17 23:41
- MySQL SHOW CREATE TABLE posts;これって何ですか? 3 2022/08/28 22:57
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- MySQL mysqlがインストールされているのかわかりません 1 2023/06/05 02:26
- MySQL MySQLのテーブル作成でハイフン - は使用できないのでしょうか? 2 2022/10/21 16:50
- MySQL mysqlがインストールされているのかどうか 1 2023/06/05 14:19
- PHP Content-Typeが機能していない? 2 2022/07/17 11:10
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
my.cnf と my.ini の違い
-
接続ができません
-
ユーザ追加して、パスワード無...
-
UTF-8にしても文字化けが直らない
-
Float型の時の計算結果がおかしい
-
mysqldが実行できない
-
MySQLサーバのコンピュータ名変...
-
VBAで変数内に保持された二次配...
-
【MySQL】時間を格納したり計算...
-
INT型は金額の型に使用するべき...
-
SQLのVARCHARとVARCHAR2の違い
-
DECIMALの範囲について
-
列数が多いと結果が行単位に改...
-
ログイン履歴について
-
MySQL エラー Duplicate entry...
-
cseデータ閲覧時に文字化け
-
ADOのバージョンを確認する方法
-
さくらのレンタルサーバで文字...
-
MySQLのエラーコード1064の見方
-
ORACLE6でバージョンの表示方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
like句を使って日本語を検索す...
-
my.cnf と my.ini の違い
-
windows上のphpにおける全角ハ...
-
ODBC接続で全角文字が文字化け
-
netscreen remoteに関して
-
phpMyadminでのMySQLの文字セット
-
「表」の文字入りのレコードがi...
-
sjisを使いたい!
-
エクセルで連勤チェックをした...
-
文字コードが有効にならない
-
VBからのODBC接続でSQLエラー
-
XAMPPでsjisを使いたいのですが
-
phpMyAdmin最新版で文字化け
-
MySQL Connector C++について
-
emacs の日本語入力2
-
MySQL4.1 文字コードについて
-
Windows環境でのPHP+MySQL+Apac...
-
MySQL5.0の文字コードが変更で...
-
Shift-JIS文字化けについて
-
MySQL4.1.11の漢字がAccessで文...
おすすめ情報