0

こんにちは難しい質問です。

(ロシアの都市、40.000 を超える可能性があります) などのキリル文字を含む csv ファイルをインポートしようとしています - これは、bom なしで UTF-8 に設定されたエンコーディングで notepad++ エディターに表示されます -:

RU,101000,Москва,Москва,,,,,,55.7522,37.6156,4
RU,101194,Москва 194,Москва,,,,,,55.7522,37.6156,1
RU,101300,Москва 300,Москва,,,,,,55.7522,37.6156,1

次に、phpmyadmin のインポート タブを使用してインポートします。インポートしたデータを参照するときに 1 回。私は次のキャラクターを持っています:

RU  101000  МоÑква     МоÑква
RU  101194  МоÑква 194     МоÑква
RU  101300  МоÑква 300     МоÑква

データベースを utf8_general_ci にセットアップ済みで、utf8_unicode_ci と utf8_lithuanian_ci を試しました... phpmyadmin パネルで utf8 表示を強制する方法がわかりません。SQL入力を使用してデータをインポートするソリューションはありますか?

前もって感謝します!!

4

1 に答える 1

0

問題は、phpMyAdmin が MySQL サーバーへの接続に使用している接続パイプに関連しているようです。

この解決策によると、phpMyAdmin はcpg_db_connect()db サーバーへの接続に使用され、これを更新して含める必要がありますSET NAMES 'utf8'。彼らは次の例を挙げています:

function cpg_db_connect()
{
        global $CONFIG;
        $result = @mysql_connect($CONFIG['dbserver'], $CONFIG['dbuser'], $CONFIG['dbpass']);
        if (!$result) {
                return false;
        }
        if (!mysql_select_db($CONFIG['dbname']))
                return false;
        mysql_query("SET NAMES 'utf8'", $result); # <-- see here
        return $result;
}

phpMyAdmin のインストールを編集できない場合 (たとえば、共有サーバー上にいる場合)、仮想/サブディレクトリ内の自分のサイトに phpMyAdmin をインストールし、この関数を見つけて編集します。phpMyAdmin は、他のサイトと同様に単なる php サイトです。

これを行うためのより純粋な方法 (特に文字に関する懸念がある場合) は、mysql を使用して ssh 経由でデータをインポートすることです (例: mysql -u dbuser -p dbname < import.sql)。

于 2012-08-04T15:00:36.763 に答える