【info】有料サポート(ベータ)限定 承り中 /【JSサポート(仮称)】
【費用】 とりあえず、言い値で承ります。ただし、できる範囲での限定受付です。込み具合等によりお受けできない場合がありますのであらかじめご了承ください。サポートにご納得いただけなければ料金は不要です。 逆に感動したら多くても構いません(^^;;;。
【できること】 たとえば、かも日記で無料配布されているコードのカスタマイズや、あるいは、JavaScript/Ajax全般+Webサーバーとの連携などのアドバイス&サンプル作成等 。A:jQchartなどでWeb用グラフ設置(エクセル→CSVやデータベースからWebグラフ生成)などのアドバイスやカスタマイズサンプル作成。B:ツリーメニューなどのカスタマイズサンプル。C:Google Mapsのカスタマイズ。etc...
【できないこと】 腕立て伏せ200回
【ライセンス】 私が今まで「かも日記」等で提供してきたコードの大半は、商用利用、改造、自由、連絡不要で、今後もそれらは変わりません。そして、この有料サポートによりカスタマイズコードなどが提供される場合でも、同様に、それらを商用利用しても改造しても自由です。ただし、制限のきついライブラリなどを使う場合は、各ライブラリのライセンスに準拠せざるを得ない場合があります。
【info】いつもいろいろなテストなどをページ内のあちこちでやっているので、重かったり、壊れていたりするf^^;ことも多いですが、何卒、ご了承ください ( _ _ b
予想通り、ブラウザバージョンごとの違いが結構あるので、
とりあえず、対策うんぬんを考える前に
問題点を洗い出して確定しておこうと思います。
まず、responseTextで受け取るファイルの文字コードによる、
ブラウザバージョンごとの振る舞いの違いです。
文字コード関連調査 [ responseText ]
http://jsgt.org/ajax/ref/charset_test/responsetext/test_1_make_table.php
XMLHttpRequestオブジェクトという名前が示すとおりなら、
utf-8やutf-16で書けば問題ないはずですが、やはり違います。
たとえば、
WinのIE6はUTF-8 、UTF-16ともに成功しますが、
MozillaやFirefoxは、Win、Mac、Linuxともに UTF-8 以外は文字化けします。
ところが、
Mac Safari1.2と
Win Opera8.0 では逆に、UTF-16以外が文字化けします。
しかも、SafariはBOM付でないUTF-16 BEやUTF-16 LEは失敗します。
と、まあ、日本人には、こんな現実がとりあえずありますので(^^;
心してかかる必要があります。
実は、responseXMLもresponseTextと異なるようなので(^^;
それも、これから調査します。
できました。
文字コード関連調査 [ responseXML ]
http://jsgt.org/ajax/ref/charset_test/responsexml/test_1_make_table.php
そこで、UTF-8でURIエンコードした文字列をサーバーへ置いておけば解決しますが
サーバー側でスクリプトを使えるなら、、、
PHPとJavaScriptのURIエンコードを比較
http://jsgt.org/ajax/ref/charset_test/responsetext/php/urlencode.php
2005.4.24
とりあえずの、
1: responseXML
【中締め的結論050424】
responseXMLに関しては、UTF-8が安全です。XMLHttpRequestオブジェクトが存在して、かつ、UTF-8がだめなブラウザはLinuxのKonquerorのみという状態です。
FYI :
* XML宣言は省略してもOKですが、encoding属性だけを省略するとアウトです。
必ず、<?xml version="1.0" encoding="UTF-8"?>までしっかり書く必要があります。
* Konqueror/3.3 はすべての文字コードで失敗していますが、実はUTF-16とUTF-16 LE BOM では文字化けしていません。ただ、行末にあった半角空白が除去されて返って来たためマッチしませんでした。
* Konqueror/3.3 はsend(null)という書き方がエラーになりました。
UTF-8がOK
linux
Win
Mac
UTF-8がNG
linux
Win
Mac
そもそもresponseXMLを受け取れない
linux
Win
Mac
その他
* Mozillaはmilestone 0.9.7(nightlyビルドの 2001-11-28 以降に実装),Ffはすべてに実装,Safariは1.2x以降に実装
【中締め的対策050424】
Konquerorについて、とりあえず考えられそうな対策
case(Konqueror)
{
2: responseText
【中締め的結論050428】
responseTextに関しては、UTF-8は、最もユーザーの多いWin IEやMozilla/Firefoxで使えますので、おおむね安全といえますが、Opera8やLinuxのKonqueror、MacのSafariは文字化けします。3ブラウザともBOM付のUTF-16ならOKです。
FYI :
* Konqueror/3.3 はsend(null)という書き方がエラーになりました。
UTF-8がOK
linux
Win
Mac
UTF-8がNG
linux
Win
Mac
そもそもresponseXMLを受け取れない
linux
Win
Mac
その他
* Mozillaはmilestone 0.9.7(nightlyビルドの 2001-11-28 以降に実装),Ffはすべてに実装,Safariは1.2x以降に実装
【中締め的対策050428】
Konqueror、Safari、Opera8について、とりあえず考えられそうな対策
case(Konqueror||Safari||Opera8)
{
*とはいえ、もし、日本語を使うなら、responseXML を使う方が安全といえるでしょう。
【追記2006.8】
AjaxでShift_JISやEUC-JPは使えるのか?-1- responseText編
(XHR/responseTextで読み込むファイルのcharset別 動作ブラウザ)
http://jsgt.org/ajax/ref/charset_test/responsetext/seu8/sample.htm
AjaxでShift_JISやEUC-JPは使えるのか?-2- responseXML編
http://jsgt.org/ajax/ref/charset_test/responsetext/seu8xml/sample.htm
| 日 | 月 | 火 | 水 | 木 | 金 | 土 |
|---|---|---|---|---|---|---|
| 1 | 2 | |||||
| 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 10 | 11 | 12 | 13 | 14 | 15 | 16 |
| 17 | 18 | 19 | 20 | 21 | 22 | 23 |
| 24 | 25 | 26 | 27 | 28 | 29 |