[PHP-users 4769] PHP4+FteeTDS-MSSQL7.0にて日本語SQL
経営管理部 川原
php-users@php.gr.jp
Thu, 17 Jan 2002 12:02:57 +0900
川原と申します。
Apache + PHP4 + freeTDS - MSSQL7.0にて
日本語SQL文の使用方法がどうしてもわからず、
メールを送らせて頂きました。
現状、sybase関数をつかって
--------------------------------------------------------------
<?PHP
$MS_server = sybase_connect("myserver","user","pass");
$MS_database = sybase_select_db("dbname",$MS_server);
$MS_sql = "SELECT 担当者コード FROM table";
$MS_queryid = sybase_query($MS_sql, $MS_server);
sybase_close($MS_server);
?>
--------------------------------------------------------------
等をブラウザで実行しますと、
Warning: Sybase error: L 1: '? n?k cj?LB?~Y. (severity 15) in /usr/home/www/test/testsql.php on line 7
といった、文字が化けたエラーメッセージが表示されます。
日本語が混じらないSQL文(SELECT * FROM tableなど)だと問題ありません。
mb_convert_encoding()を使ってSQL文をSJISに変換をかけても
解決できませんでした。
日本語SQL文をFreeTDS上で使用されている方がいましたら、
その使用方法を教えていただけないでしょうか。
よろしくお願いします。
-----------------------------------------------------------------------
Webサーバ環境
FreeBSD 4.4-STABLE
Apache apache_1.3.22 + mod_ssl-2.8.5-1.3.22
php-4.1.1 + pdflib-4.0.1
freetds-0.52(Portsでインストール)
postgresql-7.1.3
PHP4.1.1インストール時のオプション
./configure --with-pgsql --without-mysql --enable-track-vars \
--with-apxs=/usr/local/apache/bin/apxs --enable-trans-sid \
--enable-mbstring --enable-mbstr-enc-trans \
--with-sybase=/usr/local/etc/freetds --with-pdflib=/usr/local \
--with-gd2=/usr/local --with-tiff-dir=/usr \
--with-jpeg-dir=/usr/local --with-zlib=/usr --with-zlib-dir=/usr/local \
--with-png
-----------------------------------------------
freetds.confの内容
[global]
tds version = 4.2
initial block size = 512
swap broken dates = no
swap broken money = no
try server login = yes
try domain login = no
cross domain login = no
[myserver]
host = 192.168.1.111
port = 1433
tds version = 7.0
----------------------------------------------
interfacesの内容
myserver
query tcp ether 192.168.1.10 1433
master tcp ether 192.168.1.10 1433