# 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;
}
}
?>