【Eclipse PDTのバージョン】HELIOS 1.3.0
【XAMPPのバージョン】1.7.4
【OSの種類とバージョン】Windows Vista Business 32bit(x86)版
【ブラウザの種類とバージョン】IE8
【その他環境情報】Apache2.2.17 PHP5.3.5.0 Subversion 1.6.15 WinCacheGrind1.0.0.14
下記プログラムを実行(ExcelデータにODBC接続して抽出)し、ブラウザで表示(UTF-8)させると、一部の半角英字が正しく表示されません。例えば、「Händel」→「Handel」、「Chopin, Frédéric François」→「Chopin, Frederic Francois」、…。OSをLinuxにして、データベースを使用(すべてUTF-8)すると、解決するでしょうか?
<?php
$dsn = "database_4";
$user = "";
$pass = "";
$enc_disp = "UTF-8";
$enc_db = "SJIS";
function cnv_enc($string, $to, $from) {
$det_enc = mb_detect_encoding($string, $from . ", " . $to);
if ($det_enc and $det_enc != $to) {
return mb_convert_encoding($string, $to, $det_enc);
} else {
return $string;
}
}
$conn = odbc_connect($dsn, $user, $pass) or die("接続エラー");
$sql = "SELECT * FROM [music$]";
$res = odbc_exec($conn, $sql) or die("データ抽出エラー");
echo "<table border=\"1\">";
echo "<tr>";
echo "<td>ID</td>";
echo "<td>大分類</td>";
echo "<td>日本語作曲家名</td>";
echo "<td>英語作曲家名</td>";
echo "</tr>";
$music_1_ID = @$_POST['music_1'];
$i=0;
while ($row = odbc_fetch_row($res)) {
if ((int)odbc_result($res, "music_1_ID")==$music_1_ID) {
$composer_ID = (int)odbc_result($res, "composer_ID");
if ($i!=$composer_ID) {
echo "<tr>";
echo "<td>".(int)odbc_result($res, "composer_ID")."</td>";
echo "<td>".cnv_enc(odbc_result($res, "class_1"), $enc_disp, $enc_db)."</td>";
echo "<td>".cnv_enc(odbc_result($res, "composer"), $enc_disp, $enc_db)."</td>";
echo "<td>".cnv_enc(odbc_result($res, "composer_english"), $enc_disp, $enc_db)."</td>";
echo "<td><a href="."music_11.php?No=$composer_ID".">"."作品"."</a></td>";
echo "</tr>";
}
$i=$composer_ID;
}
}
echo "</table>";
odbc_close($conn);
?>
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
アクセント付き文字は、UTF-8なら問題なく扱えます。
動作確認していませんが、「$enc_db = "SJIS-win";」にすれば扱えると思います。
ご回答ありがとうございます。早速、試してみましたが、駄目みたいです。
アクセント付き文字というんですね。下記URIなどでもうちょっと調べてみます。
http://cosmoshouse.com/tools/acc-conv-j.htm
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- MySQL SQL任意に並び替えをしたい 2 2023/08/28 10:47
- PHP htmlで複数の個数入力欄を表示させるには 1 2022/09/20 03:11
- PHP php テーブルが作成できない 1 2022/11/17 23:41
- MySQL php テーブルを作れない 2 2022/11/17 18:22
- Visual Basic(VBA) Selenium.ChromeDriverの使い方について 7 2022/09/22 06:43
- PHP php エラー 2 2022/10/23 16:43
- HTML・CSS テーブルタグのセルの幅の一部だけを指定 1 2023/03/12 12:02
- PHP PHP一覧表示した項目にリンクをはりたい 1 2023/07/12 17:08
- JavaScript jQueryで同じクラス名のものを別物として扱いたい 1 2022/06/17 14:14
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Dosブロンプトでtabを出力したい
-
switch()文で値の大小比較
-
syntax error, unexpected 'ech...
-
phpでcookieがうまく保存されない
-
PHP一覧表示した項目にリンクを...
-
findstrのerrorlevel
-
shシェルスクリプト 空白行の...
-
バッチファイルでpingの結果を...
-
バッチファイルで、全てのウィ...
-
csvの特定のキーワードを指定し...
-
PHPで訪問回数を表示するカウン...
-
PHP 九九表
-
$_POST,$_GETの値が空...
-
hiddenを使っているのに、表が...
-
Windowsのsetコマンドでの小数...
-
オブジェクトの中身の判定(PHP)
-
pdftkを使った処理をバッチファ...
-
ゼロとNULLを区別して number_f...
-
bashの関数の引数にスペースが...
-
DBのハッシュ化したパスワード...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Dosブロンプトでtabを出力したい
-
shシェルスクリプト 空白行の...
-
バッチファイルでpingの結果を...
-
phpでcookieがうまく保存されない
-
switch()文で値の大小比較
-
syntax error, unexpected 'ech...
-
findstrのerrorlevel
-
小数点以下0の非表示
-
Windowsのsetコマンドでの小数...
-
ゼロとNULLを区別して number_f...
-
DBのハッシュ化したパスワード...
-
オブジェクトの中身の判定(PHP)
-
bashの関数の引数にスペースが...
-
PHPで訪問回数を表示するカウン...
-
バッチファイルで、全てのウィ...
-
pdftkを使った処理をバッチファ...
-
PHP一覧表示した項目にリンクを...
-
PHPでのパスワード制限のセキュ...
-
RSSにdiv,ul classを付けたいの...
-
hiddenを使っているのに、表が...
おすすめ情報