忍者ブログ
全くIT系ではない製造業の社員がイントラ上でColdFusionと格闘。システム構築を外部委託するとき「できればColdFusionでお願いします」と頼むのだが・・・・
[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

coldfusion-style.jp というフォーラムサイトがオープンしました。

早速、有無を言わさず参加です。

コールドフュージョンをちょっと試してみたけど、ココんとこどうしていいかわからん! という方。
是非参加して質問してみては?

秋のColdFusion8発売と、Apolloがらみで今年は盛り上がってほしいですね。


ColdFusion8のパブリックβも開始です!

PR

coldfusionとは関係なく、単なるhtmlの事です。

今さらですが、cssでページをレイアウトするときのコツがつかめました。

イントラでサイトを作るときでも、いくつかのブラウザでチェックをしています。
今はIE6、IE7、FireFox2.0の3種類です。

CSSでレイアウトをすると、マージンmarginとパディングpaddingの解釈がブラウザによって違うので、表示がぐちゃぐちゃになってしまうことがあります。

完全にやろうとすると、かなりマニアックなCSSハックの世界が待っているようです。
とりあえず、イントラならそこまで必要ないですね。普通。

ただ、せめて社内シェアのトップ3くらいは押さえた方がいいと思います。


で、そんなCSSのレイアウトが崩れてしまう悩みを解決するコツを最近覚えたので書いておきます。

すごい単純。

width,height  と margin,padding を同時に使わない。

これがコツです。これだけで、ブラウザによるレイアウト崩れがかなりなくなります。


つまり、

div#contents {
 width:700px;
 margin:5px 0 5px 10px;
}

などとしない ってことです。

widthとmarginを指定するなら、その子要素でやります。

div#contents {
 width:700px;
}

div#contents div#main {
 margin:5px 0 5px 10px;
}

といった感じ。


ブラウザによってレイアウトが崩れてしまったときはお試しあれ。
今、レンタルサーバーのhetemlでちょっとしたサイトを作っています。

今までイントラばかりで、レンタルサーバーのColdFusionなんて使ったことありませんでした。
環境が違うとそれなりにクセがあるなぁ と気がついたことを書いておきます。

hetemlのコールドフュージョンはCFMX7.02 データーベースはMySQL 4.0.25のようです。

コールドフュージョンを使うときに、できるだけ文字化け問題に遭遇しないためには、UTF-8を使うのが一番です。
でも、MySQLはeuc-jp(ja-euc)が文字化けトラブルが一番少ないそうです。

トラブル少ない同士の組み合わせで進めていますが、やっぱり文字化けに遭遇してしまいました。


"-" 横棒です。
こいつをフォームからデーターベースにinsertすると、"?"に化けちゃいます。
オラクルでよく化けるのが "~" にょろ ですが、にょろは大丈夫でした。

フォームを受けて表示するだけなら化けずに表示されるのですが、MySQLにinsertするときに化けるようです。


対策は、
<cfset re_discription = replace(form.discription, "#chr(inputbasen('ff0d',16))#", "#chr(inputbasen('2212',16))#" , "all") >

という感じでreplaceしてから、re_discriptionをinsertすればOKです。


ちょっと古いドキュメントですが、
ColdFusion MXにて日本語の一部の文字が化けてしまうことについて
これが参考になりますね。
火曜夜にやってるNHKのバラエティー(?)「サラリーマンNEO」
民放じゃなく、NHKがやってると思いながら見ると、おもしろい。
せくすぃー部長が好き。

さて、

イントラのページでエクセルやワードのファイルを配布する場面はよくありますね。
で、
ふつーに
 <a href ="./配布資料/ナントカ一覧表.xls">ナントカ一覧表</a>
などというリンクにしているページもよくあります。

このリンクをクリックすると、エクセルがブラウザ上で開いちゃいます。

こんな時はファイル名だけでなくフォルダ名までもバリバリ日本語だったりしますね。

イントラ的にはこれでまぁよし とすることが多いかもしれません。
お気楽ですから。

ただ、保存に戸惑うはずです。
イントラなら
「このエクセルどうやって保存するんだ?」
 と質問の電話がかかってきて、
「あぁ、開くときに右クリックして"対象をファイルに保存"してください」
とか、
「ブラウザのファイルメニューから"名前をつけて保存"を選んでください」
とか言えばすみますが。


また、windows+IISの組み合わせだと、ファイル名やフォルダ名に日本語を使ってもそのまま動いてくれますが、Linux + Apache なんかだとダメです。


ということで、リンクをクリックすると 
このファイルを開くか保存しますか? とダイアログが出るようにする方法について。

実例はこんな感じ。

ナントカ一覧表

ソース見ればわかりますが、このリンクは、
<a href="http://cold-fusion.heteml.jp/samples/nantoka.cfm">
となってます。

ColdFusion側(ヘテムルでやってます)のソースは、

<cfheader name="Content-Disposition" value="attachment; filename=#URLEncodedFormat('ナントカ一覧表')#.xls">
<cfcontent type="application/x-download" file="/home/sites/heteml/hoge/fuga/hoge/web/samples/nantoka.xls" deletefile="no">

<cfheader>(→LiveDocs) タグと <cfcontent>(→LiveDocs) タグのみです。

<cfheader>の value属性にユーザーが「保存」するときのファイル名を書いています。
これは、実ファイル名と異なってもかまいません。
なので、
実ファイルは英文字、ダウンロードするときは日本語ファイル名 という風に、日本人ユーザーにやさしくすることができます。
日本語ファイル名にするときは、URLEncodedFormat(→LiveDocs) しないと、文字化けします。
そのとき、拡張子はエンコードしないところがポイント


<cfcontent>のfile属性で、実態ファイルをフルパスで指定します。
windowsならドライブレター(D: とか)で始まります。Linuxなら / で始まります。
hetemlの場合、コントロールパネルのユーザー情報のところでフルパスを確認できますね。


ダウンロードするファイルが固定ならこれでOKですが、DBベースで可変になる場合もあります。
そんなときは、url引数なんかでワンクッション置いてあげる方法もあります。

ナントカ一覧表

<a href="dl.cfm?filename=%E3%83%8A%E3%83%B3%E3%83%88%E3%82%AB%E4%B8%80%E8%A6%A7%E8%A1%A8&kakuchoushi=xls&sourcefilename=nantoka.xls">

受け側のdl.cfmは、

<cfheader name="Content-Disposition" value="attachment; filename=#URLEncodedFormat(URLDecode(url.filename))#.#url.kakuchoushi#">
<cfcontent type="application/x-download" file="/home/sites/heteml/hoge/fuga/mogu/web/samples/#url.sourcefilename#" deletefile="no">

なぜだかわかりませんが、URLEncodされたファイル名を、一度Decodeして、さらにまたEncodeしないとうまくいきませんです。はい。
これで数時間ハマったよ・・・・(T_T) 

AdobeブランドでDreamweaverやFireworksなど、モロモロが6月にバージョンアップ。

相変わらず値段はお高いですなぁ。

・・・でも買っちゃいますが。


AdobeスゴロクCS3 やってみた。シールを貼ってみよ。




ブログ内検索
プロフィール
HN:
CFIF
性別:
男性
自己紹介:
もっと日本でもColdFusionが広まって欲しいです。

情報通信を生業としない企業の、システム系でもない普通の社員なので、 ColdFusionは独学。参考書が少ないのがツライです・・・・なんだかんだ、ColdFusion4.xのシリウス時代から7年くらいのおつきあい?リンコムNextのソースが教科書かも。

外注するときはよく「できればColdFusionで・・・・」とお願いするのですが、ほとんどの場合「えっ!?」と驚かれてしまい、「SEのアサインが・・・」などと営業さんが困ってしまうことが多くて悲しいです。
ちょっとしたものなら自分でシステム構築しちゃいますが、一人でやるには時間が足りませんね・・・

FlashRemotingとかもやりますが、Flexには手を出してません。
と、最初の頃書きましたが、ついにFlexに手を出しました。Flex1.5はイマイチわかりませんでしたが、Flex2は別物ですね。これで6万円でイインデスカ?
そしてFlex2とColdFusionの組み合わせなら無敵な気がしますよ。ほんとに。
最新トラックバック
カレンダー
04 2024/05 06
S M T W T F S
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 30 31
なかのひと
忍者ブログ [PR]