[PHP-users 24057] Re: SJISで外字を扱う方法

Etsuo SUMIYA e_sumiya @ f-den.co.jp
2005年 1月 4日 (火) 11:57:04 JST


sumiyaといいます.「そんなことが起きるのかなー?」と思ったので手元
の環境で試してみました.

From: Kazuhito Ujima <ujiman @ dokidoki.ne.jp>
Subject: [PHP-users 24050] SJISで外字を扱う方法
Date: Tue, 04 Jan 2005 02:02:38 +0900
Message-ID: <20050104014606.DCCD.UJIMAN @ dokidoki.ne.jp>

> 現在、東洋医学の用語の辞書をwebアプリケーションで
> 作成したくて、win 2000,
>  apache 2.0
> php 5.0.2
> MySQL 1.4
> の環境で作業をしていますが、どうしても
> SJISでコードF040以降の文字が飛んでしまいます。
> ご意見をいただけると助かります。
> [mbstring]
> mbstring.language = Japanese
> mbstring.internal_encoding = SJIS
> mbstring.http_input = SJIS
> mbstring.http_output = SJIS
> mbstring.encoding_translation = Off
> mbstring.detect_order = auto
> mbstring.substitute_character = auto
> ...
> <form action="<?=$_SERVER["PHP_SELF"]?>" method="POST" name="F1">
> <input type="text" name="str" value="<? echo $str; ?>" onChange="document.F1.str2.value = document.F1.str.value;">
> <input type="text" name="str2">
> <input type="submit" value="追加">
> </form>
> <p>str:<? echo $str; ?>
> のようなプログラムを動かすと
> javascriptの部分は
> strの内容はstr2に問題なく表示されました。外字ももちろんクリアです。
> 
> phpのpost送信で
> このときにsubmitすると
> 外字の部分が欠落してしまいます。

上のプログラムを確認のために次のようにしてみましたが,問題なく,表
示されました.

環境は
Windows 2000 + Apache 3.28. php 4.3.4 + mysql 3.23.49
および
Windows 2000 + Apache 2.0.58 php 5.0.3 + mysql 4.1.7


<?php
print_r($_POST);
$str = $_POST["str"];
?>
<form action="<?=$_SERVER["PHP_SELF"]?>" method="POST" name="F1">
<input type="text" name="str" value="<? echo $str; ?>" onChange="document.F1.str2.value = document.F1.str.value;">
<input type="text" name="str2">
<input type="submit" value="追加">
</form>
<p>str:<? echo $str; ?>





PHP-users メーリングリストの案内