【初心者】Java質問・相談スレッド132【専用】
>>950 しらねーよ
Javaでスケジューリングしてやってもいいしやらなくてもいい、他の奴が決める話じゃねぇ
ちょっと質問なんですけど。 以下の条件で 1.OracleのDBの文字コードがEUC 2.クライアント側はSJIS 3.扱う文字は’梶f 普通にDBから’梶f取得して出力させたら’?’になるんですけど、 これはjavaの内部コードがUTF-16で、まずEUC→UTF-16の変換が行われて、 UTF-16に’梶fが対応していないので文字コードが失われる。 結果デフォルト表記である’?’になってしまう。 ということはJavaで文字コード変換をかけるのは無意味(文字コードが失われているので)。 ちなみにこれまでの調べによるとSJIS→UTF-16でも’梶fが対応していないので、 上記のDBの文字コードが仮にSJISであっても同じことがおこる(出力結果は’?’)。 っていう個人的な結論が出たんですけど合ってますか?
何このデジャブ。もしかして同一人物の長ったらしい釣りなのか?
分からないならレスしなくていいです。
★Java2SEのソースコードについて質問です java.util.Arraysクラスのメソッドsortのソースコードが知りたいのですが、 公開しているサイトはありますか? Arraysクラスに限らず他のクラスのソースコードも読んでみたいので、 知っている方がいましたら教えてください よろしくお願いします。
>>957 Eclipseで見れたキガス(バージョン高いやつじゃないとダメかも)
違ったらごめんなさい
>>955 釣りじゃないです必死なんです
SDKの中に含まれているだろ・・・お前はなにを言ってるんだ?
>>960 せめてjavaでの回避が不可能という確証が得られれば
代案を提示できるんですけど
もし現行案で回避できると後で分かったらあの先輩に何を言われるか・・・
もう胃が痛いです
>>954 postgresqlでutf8のDBで鰍ヘ表示できたよ。
知らんがな
だから >UTF-16に’梶fが対応していないので文字コードが失われる。 ってことはないんじゃないかと
元データが壊れてんじゃないの? 検証できないんだから調べようがないわ
すみません、質問です。 【やろうとしてること】テキストファイルの入力 【ハマってること】FileInputStreamのコンストラクタで「ソースが見つかりません」となる 【ソース】 import java.io.*; public class practice { public static void main(String[] args) { File f; FileInputStream fis; f = new File("a.txt"); System.out.println(f.getName()); // [1] fis = new FileInputStream(f); // [2] } // try~catchは省略 すみません、、 なんとか自分で調べて解決しようとしていたのですが、 半日ほど調べても原因がさっぱりわからなかったので質問しました。 [1]では正常にファイル名が出力されますが、[2]でエラーとなります。 【やってみたこと】 FileReaderを使う → × ファイル名にフルパス → × FileInputStreamのコンストラクタにフルパス → × FileInputStreamのみでデバッグ中に対象ファイルをリネームしようとしたら Windowsに怒られたので、ファイルは掴んでいるようなのですが、、、 JavaDocでは「FileNotFoundException - ファイルが存在しないか、普通のファイルではなくディレクトリであるか、またはなんらかの理由で開くことができない場合」 と有るのですが、ファイルは存在しますし(前述)、普通のテキストファイルです。 「なんらかの理由」??であるとすると見当がつきません。 長文で失礼しますが、何卒ご教示のほどよろしくお願いいたします。
>>965 まずはjavaで鰍書き込んでみるこった。
>>967 まだ開いていない (FileInputStreamを呼べていない) 段階でファイルを掴んでいるはずはないので、
他のプログラム (テキストエディタとか) がそのファイルを掴んでいるのではないか?
画像を多めに開いた場合のフリーズするトラブルは、x64化すると解決することが多い
スレッドとかよくわからないんですけどわかりやすく教えて下さい 入門本がなんとか分かるぐらいの人対象の説明でおねがいします わかりやすい説明が書かれたサイトの紹介でも可
UTF-16に’梶fが対応していないのではなく DB(EUC)→Java(UTF-16)のマッピングに’梶fの対応が無い という表現が正しい気がしています。 結局Javaでは無理という結論なのですが(Javaに渡った時点で文字コードが失われているため)。
二番煎じだとネタにもならんな
>>971 PCの中では、たくさんのプログラムが同時に動いてるだろ
今見てるブラウザの後ろで、メディアプレイヤーが音楽鳴らしながら、
メールソフトがメールチェックしてて、タスクバーの時計が時間を刻んでて、って感じで
ブラウザだけでも、マウスやキーボードの入力を処理しながら同時にサーバとの通信も処理してるだろ
そんなふうにPCの中で同時にたくさん動いてる処理のそれぞれがスレッド
同時に3つの処理をしたい場合は、3個のスレッドを使う
1つしか処理をしない場合でも、1個のスレッドを使っている
そんな馬鹿っぽい質問にマジレスとか優しすぎる
>>972 バイト列として直接引っ張り出してこちら側で変換するとか。
"株 EUC"で検索してみると判るけど、
「(株)」はJIS的には2つコードポイントがあって、
それが面倒な話に繋がっているのかもしれない。
select convert(hoge, 'UTF-8') from tbl じゃ、だめ?
>>972 せめて同じスレのレスくらい見直せ。
Unicode(UTF-8/16/32)には「梶vがある。
Shift_JISには「梶vは無いが、Windows-31Jには「梶vがある。
EUC-JPには「梶vは無いが、x-eucJP-Openは「梶vがある。
でもjava以外からは鰍ェ見えてるんだよね?
>>957 C:\Program Files\Java\jdk*\src.zip
*の部分はバージョン依存 (最新は1.6.0_16)
Swing等、src.zipに無いものは、
http://openjdk.java.net/ (Sunが配布してるバイナリと100%一致してるわけじゃないけど)
データの変換に失敗したみたいなチェック例外ってない?
OracleのJA16EUCを、EUC-JPとして扱っているJDBCがおかしいってことか。 JA16EUCが、あくまで文字エンコーディングしか規定しないのかもしれないけど。 Oracleが文字セットを正しく認識した上で扱っているのなら、 >977 の方法でうまくいきそうだな。
>>982 コネクションに鰍読めるキャラセットを指定しなきゃダメなんじゃないの。
生のバイト列取ってきて文字コード見ればいいんじゃね?
Calendar cal = Calendar.getInstance(); System.out.println(cal.get(Calendar.YEAR)); System.out.println(cal.get(Calendar.MONTH)); System.out.println(cal.get(Calendar.DATE)); なんで、2つめの出力の時に9がでるのさ? PCの時計はちゃんとした時間なんだけどな〜何でだろ
>>985 それは Calendar.OCTOBER が 9 だからだ
>>986 なるほど、カレンダーなんて意識した事がなかったからな〜
thx
意識しなくともおかしかったらドキュメント嫁や
Yahoo!プログラミング言語検索ランキング(今回2009/10/12、前回2009/10/9) . 1(. 1) HTML 約5,020,000,000件(約5,030,000,000件)- . 2(. 2) PHP 約3,000,000,000件(約2,980,000,000件)++ . 3(. 3) Java.... 約 832,000,000件(約 832,000,000件)0 . 4(. 4) Forth. 約 324,000,000件(約 322,000,000件)++ . 5(. 5) Ruby.. 約 274,000,000件(約 274,000,000件)0 . 6(. 6) perl..... 約 245,000,000件(約 244,000,000件)+ . 7(. 7) Python... 約 209,000,000件(約 205,000,000件)++ . 8(. 8) pascal... 約 168,000,000件(約 170,000,000件)-- . 9(. 9) Delphi 約 128,000,000件(約 127,000,000件)+ 10(10) VisualBasic... 約 120,000,000件(約 121,000,000件)- 11(11) lisp... 約. 26,600,000件(約. 26,700,000件)- 12(12) fortran....... 約. 21,300,000件(約. 21,300,000件)0 13(13) COBOL..... 約. 17,100,000件(約. 17,900,000件)-- 14(14) HSP 約. 12,400,000件(約. 12,300,000件)+ 15(15) FreeBasic.. 約 6,300,000件(約 6,310,000件)- 16(16) Tcl/Tk...... 約 4,820,000件(約 4,940,000件)-- 17(17) QBasic..... 約 4,160,000件(約 4,180,000件)-- 18(18) VisualC.... 約 1,340,000件(約 1,340,000件)0 19(19) DarkBASIC . 約 1,330,000件(約 1,330,000件)0 20(20) BasicStudio 約 302,000件(約 302,000件)0 21(21) N88basic...... 約 218,000件(約 217,000件)+ 22(22) f-basic....... 約 109,000件(約 109,000件)0 23(23) ActiveBasic 約. 90,600件(約. 90,100件)++ 24(24) 99BASIC.... 約. 11,300件(約. 11,300件)0 3Dprogramming 約792,000件(約790,000件)++ 2Dprogramming 約. 57,100件(約. 57,600件)-- intel 約714,000,000件(約726,000,000件)-- amd 約349,000,000件(約352,000,000件)--
>>969 殿
原因は別にありましたが、無事解決しました。
お騒がせしてすみませんでした。
992 :
デフォルトの名無しさん :2009/10/13(火) 09:26:58
993 :
デフォルトの名無しさん :2009/10/13(火) 10:55:43
JavaやっててUTF-8統一しないのはカスである
OracleにEUCのDB作ってみたけど鰍ヘ?になるな。 getBytesで取り出したらefbc9fになるな。 こりゃどうしようもないな。
>>994 DBのエンコードがなんだろうが、文字化けせずに取り出せるよ
>>994 insertの時点で化けてなんじゃないの?
>>996 sqlplusでinsert into tbl values ('');
select test from tbl;
ですでに?になる。
>>997 じゃあ、sqlplusとDBが噛み合っていない
winのクライアント使ってるならデフォルトでSJISになってるはず
どうやったらかみ合うんかなー
1000 :
デフォルトの名無しさん :2009/10/13(火) 12:08:19
>>999 sqlplusの設定あるだろ
teratermなんかに似ている
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。