MSSQLで「~」が文字化けします - PHPプロ!Q&A掲示板

672

  • 0P

MSSQLで「~」が文字化けします

質問日時 / 2007年9月27日 12:00 (最終編集:9月27日 14:45)    回答数 / 3件

Questioner:  murackey  このエントリーをはてなブックマークに追加 

キーワード /     文字化け    MSSQL   

こんにちは

HTTP_OUT:SJIS
HTTP_IN:SJIS
PHP-version:4.3.2
PHP_Internal_encoding:SJIS
MSSQL2000:SJIS


と、SJIS揃いの環境で構築しているのですが、「~」をvarcharフィールドなどにinsertしようとすると、?に文字化けするようで困ってます。

POSTなどで受けとった値を、SQL文にし、それをechoすると「~」は文字化けせずに表示されるのですが、データベースの中を見ると?になっています。

#どうもphp_mssql.dllが文字コードを変換してるように思えるのですが、それが原因なんでしょうか。
ちなみに機種依存文字、仮に平方メートルなどを入れようとすると、syntax errorが返ってきて、その際表示されるSQL文は、平方メートルは?に文字化けしています。

これって解決方法ありますか?

訂正:
上記の#のところは間違いでした。
php.iniを見たらphp_mssql.dllは使用していませんでした。
extensionsでmssqlに関する設定はなく、additional ini.files parsedに /etc/php.d/mssql.iniがあり mssql.iniを見るとextension=mssql.soと書いてありました

サーバはRedHat EL3です
apache2.0.46

ちなみにxamppで動いているローカル環境では「~」文字化けは起きません。
PHPは4.4.5 OSはWindowsXP です

この質問への意見の募集は締め切られ、ポイントは既に配分されました。
意見を投稿することはできますが、ポイントを受け取ることはできません。



ツリー一覧

┗A01signalSET NAMES sjis; INSERT、SELECTなどクエリ投げる
 ┗A01-1murackey返信ありがとうございます。m(_ _)m 教えていただい
  ┗A01-1-1signalごめんなさい。MySQLと見間違えてました・・・

回答一覧

並び替え:

A01
answerersignal [9月27日 22:44]

SET NAMES sjis;

INSERT、SELECTなどクエリ投げる前に一度をしてみたらいかがでしょう?

この意見に回答する

ツリーへ TOPへ

A01-1
replyermurackey [9月28日 09:20]

返信ありがとうございます。m(_ _)m
教えていただいたSQLを早速実行してみたのですが、「'NAMES' は SET ステートメント として認識されません。」というエラーメッセージが返ってきます。
MSSQL2000は対応していないのでしょうか・・・(泣

この意見に回答する

ツリーへ TOPへ

A01-1-1
replyersignal [9月28日 23:09]

ごめんなさい。MySQLと見間違えてました・・・

この意見に回答する

ツリーへ TOPへ

<<質問一覧へ



Pick Up Q&A

Q
動的なURLを静的に見せる方法
 このエントリーをはてなブックマークに追加 
A
普通に考えて、mod_rewrite でしょうね。 http://www.nishishi.com/blog/2006/01/mod_rewrite_url.html...

>>続きを読む

GETのままでは検索エンジンのロボットが拾ってくれなかったためにSEO対策として有効だと言われていますね。

▲解説者:岡本(アシアル株式会社 教育コーディネーター兼 システムエンジニア)