1

はい、あなたの考えはわかりますが、当面は latin1 を選択することにしました。

これは mySQL 構成です。 • mysql> SHOW VARIABLES LIKE 'character_set_%';
• +-------------------------+--------+
• | | 変数名 | 値 |
• +-------------------------+--------+
• | | character_set_client | ラテン1 |
• | | character_set_connection | ラテン1 |
• | | character_set_database | ラテン1 |
• | | character_set_results | ラテン1 |
• | | character_set_server | ラテン1 |
• | | character_set_system | utf8 |> デフォルトのシステム パラメータであるため、これを変更することはできません。

PHPの場合、php.ini で次のコマンドを使用します。
mssql.charset = "ISO-8859-1"

通常のApacheの場合:
AddDefaultCharset ISO-8859-1

バックアップを行うたびに、次の内容が各テーブルに追加され
ます
/
!40101 SET character_set_client = utf8 */;

apache/php と mysql 間の接続で character_set_client がまだ utf8 になっているのはなぜですか?

4

2 に答える 2

3

mysqldump は、php または apache の設定を確認しません。--default-character-setmysqldump を使用する場合は、フラグを追加する必要があります 。

マニュアルから

--default-character-set=charset_name

charset_name をデフォルトの文字セットとして使用します。セクション9.5「文字セットの設定」を参照してください。文字セットが指定されていない場合、mysqldump は utf8 を使用し、以前のバージョンは latin1 を使用します。

于 2010-10-09T18:11:29.473 に答える
0

設定した php.ini のディレクティブに注意して気づいた場合:

mssql.charset = "ISO-8859-1"

Microsoft SQL Server!は接続を指し、 は指しませんMySQL Server

ジャックマン

于 2011-10-19T13:55:31.383 に答える