# cd /usr/local/src
# wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.1.tar.
gz
# tar xzvf libiconv-1.13.1.tar.
gz
# cd libiconv-1.13.1
# ./configure && make && make install
# yum install php-mssql
# vi /etc/freetds.conf
[global]
に
charset = cp932 client-charset = cp932
を追加。
最後に
[セット名] host=MSSQLのサーバーURL port = 1433 tds version = 9.0 charset = sjis client charset = UTF-8 language = japanese
を追加。
# tsql -S セット名 -U アクセスするユーザー名 -P パスワード
で、接続を確認。
# vi /etc/php.ini
[mbstring]
に以下の設定
mbstring.language = Japanese
mbstring.internal_encoding = UTF-8
mbstring.http_input = auto
mbstring.http_output = UTF-8
mbstring.encoding_translation = On
mbstring.substitute_character = none
そのうえで保存。その後
# yum reinstall php-mbstring
# service httpd restart
で、mbstring をアップデートした。
アクセスする php は以下のように設定した。(vi で作って :wq で保存して権限の設定)
<?php ob_start(); require_once("dbaccess.php"); $dba = new dbaccess(); $db = $dba->mssql_con(); $TelNum = $_GET['tel']; mssql_select_db("アクセスするセット名",$db); $query = "select * from テーブル WHERE replace(電話一覧フィールド,'-','') LIKE '%".$TelNum."%'"; ; 注:電話番号から「−」を抜いたもので検索 $res = mssql_query($query,$db); $i = 0; $Ans = ""; while($row = mssql_fetch_array($res)){ if ($i == 0) { $Kana = mb_convert_encoding(rtrim($row['半角カナの名前フィールド']), "UTF-8","SJIS"); $PtID = rtrim($row['IDフィールド']); $Ans = $PtID.$Kana; } $i = $i +1; } switch ($i) { case 0: $Ans = $TelNum; break; case 1: break; default: $Ans = $Ans."etc".strval($i - 1); } echo $Ans; mssql_free_result($res); mssql_close(); ?>;
もう一つのファイルは dbaccess.php
# vi dbaccess.php
<? class dbaccess { //データベース接続を行う関数 function mssql_con(){ $db = mssql_connect ("データベースホスト名", "ユーザー名", "パスワード"); return $db; } } ?>