MySQLデータベースをバックエンドとして使用する従来のASPを使用してクライアント用のサイトを構築しました。テストサーバーではすべて正常に動作しますが、サイトをライブサーバーに転送すると、データベースから取得したすべてのヘブライ語データがぎこちなく出てきました...
データベースはUTF-8として設定されています。phpmyadminでデータベースの内容を確認しましたが、hebreは読み取り可能です。
問題はODBCドライバーにあるようです。私のサーバーではODBC5.1を使用していますが、ライブサーバーでは3.51を使用しています...このodbcドライバーではヘブライ語が問題だったようですが、イスラエルのホスティング会社であるにもかかわらず、ホスト会社は更新を拒否しています... 。
私のデータベース接続文字列は次のようになります:
"DRIVER = {MySQL ODBC 3.51 Driver}; SERVER = localhost; DATABASE = 100298270_dbname; UID = username; PASSWORD = pass; OPTION = 0; charset = utf8;"
だから、何時間も読んだ後、私は次の解決策を見つけましたが、どれも役に立ちませんでした:
他のクエリの前にデータベースでこのクエリを実行する:
名前を設定するutf8"
これらすべてのクエリを実行する:
Call SqlQuery( "SET character_set_client = utf8")Call SqlQuery( "SET character_set_connection = utf8")Call SqlQuery( "SET character_set_database = utf8")Call SqlQuery( "SET character_set_results = utf8")Call SqlQuery( "SET character_set_server = utf8") SqlQuery( "SET NAMES utf8")を呼び出します
しかし、実行しても何も変わらないようです。このソリューションを実装しようとしました。MySQLODBC 3.51ドライバーUTF-8エンコーディングですが、ホスティング用のPLESKコントロールパネルにしかアクセスできないため、デフォルトのDSN接続しか作成できません。
ホスティング会社のテクニカルサポートに相談したところ、他のASPサイトは正常に機能しているとのことでした(3.5 ODBCドライバーがUnicodeをサポートしていないという既知の問題ですが)。そのため、自分で解決策を見つける必要があります... i 「DSNなしの接続...でMySQLデータベースに接続するように言われました。
誰かが私のための解決策を持っていますか?