くだすれPHP(超初心者用)
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2006/06/12(月) 14:06:01ID:???もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
PHP使いが優しくコメントを返しますが、
お礼はPHPの布教と初心者の救済をお願いします。
PHP Home Page
http://www.php.net/
0002nobodyさん
2006/06/12(月) 14:40:47ID:???需要あったのかしらん。
0003nobodyさん
2006/06/14(水) 00:09:15ID:???0004nobodyさん
2006/06/14(水) 09:26:50ID:???0005nobodyさん
2006/06/18(日) 10:15:39ID:???そのままだと1byte目を変換し、後を無視してしまいます
0006nobodyさん
2006/06/18(日) 14:16:42ID:???>>5
おまいは何かを根本的に勘違いしている。
ord()はそもそもそういうもんですって言うか変換なんてしません。
http://jp2.php.net/manual/ja/function.ord.php
> stringの先頭文字のASCII値を返します。
2バイト文字列の一文字目を抜き取りたいのならmb_substr()でも使ってはどうですか。
http://jp2.php.net/manual/ja/function.mb-substr.php
0007nobodyさん
2006/06/18(日) 15:05:32ID:???http://jp2.php.net/manual/ja/function.pack.php
0008nobodyさん
NGNG<?php
$str = "サーバサイド技術";
print(mb_convert_kana($str,"KV"));
$data = $str;
print(mb_convert_encording($data,"EUC-JP","Shift_JIS"));?>
出力
サーバサイド技術
Fatal error: Call to undefined function mb_convert_encording() in C:\Program Files\xampp\htdocs\4.2.php on line 8
設定が間違っているのでしょうか?
0011nobodyさん
NGNGども。
両方試してみました。
入力
<?php
$str = "サーバサイド技術";
print(mb_convert_kana($str,"KV"));
$data = $str;
print(mb_convert_encoding($data,"EUC-JP","SJIS"));?>
出力
サーバサイド技術悉鴫写酌悉軸柴酌オサスム
mb_comvety_kana()とmb_convert_encoding()がうまく動作していない様子です。
0012nobodyさん
2006/06/18(日) 17:41:37ID:???mb_convert_kana()は$strの文字コードを明示的に指示してやると多分うまくいくよ。
http://jp2.php.net/manual/ja/function.mb-convert-kana.php
mb_convert_encoding()は上手く動作してるから文字化けしてるんじゃないの?
0013nobodyさん
NGNG文字コードをSJISに指定したら正しく表示されました。ありがとうございます。
ただ、mb_convert_encoding()がどうもうまくいきません。IEで文字コードをSJIS
にエンコードすると化けてしまいます。一方でEUC-JPにエンコードすると"サーバサイド技術"
と化けずに表示されます。よーするにmb_convert_encoding()がうまく動いてないかと。
0014nobodyさん
2006/06/18(日) 20:32:09ID:???化けるって聞いたよ。
アパチが内部で勝手に文字コードを揃えちゃうらしい。
0015nobodyさん
2006/06/18(日) 21:12:07ID:???<?php
$str = "サーバサイド技術";
print(mb_convert_kana($str,"KV")); // (1)
$data = $str;
print(mb_convert_encoding($data,"EUC-JP","SJIS")); // (2)
?>
これがちゃんとSJISで書かれているとしたら$strの文字コードはSJISだよね。
つまり(1)はSJISで出力される。
一方(2)はEUC-JPに変換してから出力している。
(1)が文字化けせずに読めている状態で(2)が化けるのは当たり前じゃん。
出力した文字コードが違うんだから。
"悉鴫写酌悉軸柴酌オサスム"つーのはEUC-JPで出力された"サーバサイド技術"を
SJISとして読んだ時に起こる文字化け。
上の出力をEUC-JPとして読んだ場合は"?T?[?o?T?C?h?Z?pサーバサイド技術"となる。
自分でSJISからEUC-JPに変換させといてうまく動いてないなんていちゃもん付けるなよ。
mb_convert_encoding()は完璧に動いてるよ。
00165
2006/06/19(月) 10:00:39ID:???わかりにくい説明ですいません。
日本語文字列のascii値?を返してほしいんです
ord("a") -> 97
ord("あ") -> 12354
ord(" ") -> 32
ord(" ") -> 12288
■ このスレッドは過去ログ倉庫に格納されています