[PHP-users 33543] Re: mySQL+PHPにて「〜」を含むテキストをINSERTできない

神田@KCS info @ kcs2000.jp
2008年 5月 14日 (水) 13:51:34 JST


神田と申します。

UTF-8変換問題による障害だと思います。
関連記事が以下にあります。
http://adiary.blog.abk.nu/025
http://www.asahi-net.or.jp/~wq6k-yn/code/jisucs.html

私のところでは、一旦sjis-winに変換し、またUTF-8に戻す、という以下の方法
で何とかクリアしています。

$strReturn =
mb_convert_encoding(mb_convert_encoding($str,"sjis-win","UTF-8"),"UTF-8","sjis-win");

大塚 哲治 さんは書きました:
> こんにちは。大塚と申します。
> 
> OS Red Hat Enterprise Linux ES 3
> MySQL 4.1.15
> PHP 5.2.6
> を使っています。
> 
> PHPのプログラムで「〜」を含む文字をADOdbを使ってINSERTしようとすると「〜」の部分が「?」と文字化けしてしまいます。
> phpMyAdminから同様に「〜」を含む分を入れてみたら、
> Warning: #1265 Data truncated for column 'SERIES' at row 1
> とエラーを発しているようです。
> 
> どうやら文字コードの範囲外らしくインサートできないようです。
> 
> my.iniは
> ---
> default-character-set=utf8
> skip-character-set-client-handshake
> ---
> と設定しています。
> 
> プログラムは、
> ---
> mb_language("Japanese");
> mb_internal_encoding("EUC-JP");
> mb_detect_order("ASCII,JIS,UTF-8,EUC-JP,SJIS");
> ・・・
> $sql = "・・・INSERT SQL文・・・";
> @$DB->Execute("set names cp932;");
> $result = $DB->Execute($sql);
> ---
> としています。
> 
> Googleで検索してみましたがなかなかヒットする解決方法にはいたりませんでした。
> どなたかいい解決方法ご存知の方はご教授ください。
> 
> _______________________________________________
> PHP-users mailing list  PHP-users @ php.gr.jp
> http://ml.php.gr.jp/mailman/listinfo/php-users
> PHP初心者のためのページ - 質問する前にはこちらをお読みください
> http://oldwww.php.gr.jp/php/novice.php3
> 

-- 
□■□■   KCS  神田 英一朗
■□■□   〒940-2145
□■□■   新潟県長岡市青葉台3-19-2
■□■□   TEL:0258-47-4861 / FAX:0258-47-4860


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