データベースの 1 つをあるホスト (home.pl) から別のホスト (新しく設定したサーバー) に転送しようとしています。転送しようとしているスクリプトはワードプレスです。残念ながら、使用した方法に関係なく、エンコードの問題に苦しんでいます。
新しいホスト構成
私の新しいサーバーでは、my.cnf で次のディレクティブを使用しています。
[mysql]
default-character-set=utf8
[mysqld]
collation-server = utf8_general_ci
character-set-server = utf8
init_connect='SET collation_connection = utf8_general_ci'
init_connect='SET NAMES utf8'
[client]
default-character-set=utf8
私のmySQL変数:
character_set_client utf8
character_set_connection utf8
character_set_database utf8
character_set_filesystem binary
character_set_results utf8
character_set_server utf8
character_set_system utf8
collation_connection utf8_general_ci
collation_database utf8_general_ci
collation_server utf8_general_ci
新しいサーバー上の Php.ini:
; PHP's default character set is set to UTF-8.
; http://php.net/default-charset
default_charset = "UTF-8"
古いホスト構成
データベースを転送しようとしている古いホストで SHOW VARIABLES を実行しましたが、次の結果が得られました。
character_set_client utf8
character_set_connection utf8mb4
character_set_database utf8
character_set_results utf8
character_set_server latin2
character_set_system utf8
/usr/local/pssql55/share/charsets/
collation_connection utf8mb4_general_ci
collation_database utf8_polish_ci
collation_server latin2_general_ci
試した転送方法
1) phpmyadmin 経由で転送
PHPMYADMIN エクスポート/インポートを使用してみました。特に、phpmyadmin を介したエクスポートとインポートの両方で、ファイル文字セットとして UTF-8 を指摘しました。
ソース サーバーの phpmyadmin と新しいホストの両方で奇妙なのは、洗練された文字が表示されないことです (出力は、洗練された文字がなくても同じです)。
2) mysql ダンプによるエクスポート/インポート
私も使用しようとしました:
mysqldump -h OLD_HOST -u OLD_USER -p DB | mysql -h localhost -u root NEW DATABASE
しかし、エンコーディングも失敗します。
エンコーディング変数も使用しようとしましたが、失敗しました:
mysqldump --default-character-set=latin1 | mysql --default-character-set=utf8
ダンプファイル
Programers Notepad を UTF-8 エンコーディング セットで使用した私のダンプ ファイルでは、文字は次のようになります。
"Ä" instead of "ę"
それらをMicrosoft Wordで開く
Ä™ instead of "ę"
エンコーディング コンバーター (gżegżółka) は、ファイルが C:\Users\mkondej001\Desktop\14271425_mk.sql にあることを認識します。
Kodowanie: Unicode UTF-8
EOL: LF (Unix)
DBを転送する方法/サーバー変数を正しく設定する方法の手がかりはありますか?