仕事でハマったのでメモ。
Contribute CS3で以下の現象が起き悩まされました。
- input type=”image” でvalue,alt属性に日本語を使ってると文字化けする
- value値に “search”を使うと、 src(画像パス)の指定が相対的に書き換えてくれない。
結論としては、value,alt属性は英語名で、その時に”search”は使わなければいい。
というよりForm要素には日本語は使うと文字化けする現象は未だに直ってないらしい。
何でハマったかというと、上記の不具合に二重に悩まされたから。
最初はこんな感じで書いてた。
<input src="../img/button.gif" name="submit" value="検索" alt="検索" type="image" />
当然、ページを編集・公開すると文字化けするので以下のように直したとする。
<input src="../img/button.gif" name="submit" value="search" alt="search" type="image" />
これを1つ下の階層に保存すると、パスが変更されてこうなるはず。
<input src="../../img/button.gif" name="submit" value="search" alt="search" type="image" />
ところが、このパスが変更されない。
value=”hoge-search”
とすると何故か直った。
“search”がContribute上で何か予約語的に扱われてるのだろうか。
でもvalue値だからなーname属性ならまだわかるのだけども。
絶対パスかルートパス指定してれば問題はないのだけど。
追記)
Contribute3.01で文字化けに対応したアップデートは公開されてた
http://www.adobe.com/jp/support/contribute/downloads.html
Contribute 3.01
フォームの Input タグの中で全角文字を使用すると、ページを公開した際に、これらの文字に文字化けが発生することが確認されています。このような現象が発生する Web サイトをご利用中の場合は、本アップデータをダウンロードし、インストールすることをお勧めします。不具合の詳細については、日本語を含むフォームを編集後、公開すると文字化けが発生する (co0047) をご覧下さい。
でもimageの画像指定の相対パスがずれる現象に対応してるかどうかは未確認。
当面は絶対パス指定だな。
コメント