MYSQL から ORACLE RAC に移行するプロジェクトがあります。データベースは UTF8 エンコーディング形式です。PHP を使用した単純な接続を通じて取得された中国語の文字は、データベースに接続するときにすべて疑問符であることが後でわかりました。 UTF8として指定する必要があります。環境変数を指定し、PHPのグローバル環境変数phpinfo(INFO_ENVIRONMENT)をテストページに出力しました。結果は正常です。指定しないと、PHP 環境変数ページに nls_lang の変数情報が表示されず、依然として文字化けします。 PUTENV (NLS_LANG) を手動で定義する必要がありますか?始まり? PHPサービス実行時に環境変数nls_langのパラメータを取得する方法についてアドバイスをお願いします。 INFO_ENVIRONMENT に成功が自動的に表示されます。
補足すると、私はcentos6.5で、.bash_profileにnls_langが定義されています。しかし、うまくいかないようです。 PHPは5.6、WEBサーバーはnginx 1.9です
ORACLEにはutf8はありません
リンクするときORACLE 使用する文字セットを宣言するだけ
環境変数を設定する必要があるのは ORACLE 8 以下のみです
ORACLE には utf8 はありません utf-8 のみです
ORACLE をリンクするときに使用する文字セットを宣言する必要があります
環境変数を設定する必要があるのは ORACLE 8 以下のみです
$conn = OCI_Logon('orcl','orcl','127.0.0.1/orcl','UTF8');或者putenv("NLS_LANG=american_america,UTF8");
を手動で入力する必要がありますか?システム環境変数 nls_lang を実行すると、結果は空になります。
phpinfo(INFO_ENVIRONMENT);
?>
PHP の初期化時にシステム環境変数を読み込む方法、つまり PHP を指定する方法について教えてください。環境変数、bash_profile が機能しません。
$conn = OCI_Logon('orcl','orcl','127.0.0.1/orcl','UTF8'); と書くのはそんなに面倒ですか?
Java は jdbc を介してデータベース操作を実行し、php はクライアントを介して操作します
そのため、後者はさらにセットアップ作業を行う必要があります
実際、この会社は別のソフトウェア会社の製品であり、ネイティブ MYSQL であり、その後会社によって要件 ORACLE RAC データベースを統合し、移行します。 。わかりました。データベース接続がどこに書かれているか調べて、自分で変更します。