私はmysqliとすべてについてもっと学ぶ道ですそのエキサイティングなものが、私はすぐにブロックされます。mysqlは '文字セットutf-8(パス:/ usr/share/mysql/charsets /)'を初期化できませんでした。そこにutf8.xmlファイルはありません
私は自分のdebianボックスにローカルサーバーを持っています。それは最新のもので、PHPとMySQLがインストールされ、円滑に動作しています。 私はmysqliのにもう少し学ぶために探していたと私は次のコードを試みた:
<?php
$db = new mysqli('localhost', 'userdb', 'pwuserdb', 'db');
if(!$db->set_charset('utf-8')) {
printf("Error setting the character set utf-8: %s\n", $db->error);
} else {
printf("Current character set is: %s\n", $db->character_set_name());
}
print_r($db->get_charset());
?>
をページを訪問したときに、私は、次のメッセージを取得し、私の驚きに、だった: Error setting the character set utf-8: Can't initialize character set utf-8 (path: /usr/share/mysql/charsets/) stdClass Object ([charset] => latin1 [collation] => latin1_swedish_ci [dir] => [min_length] => 1 [max_length] => 1 [number] => 8 [state] => 801 [comment] => cp1252 West European)
私は
[mysqld]
[client]
default-character-set=utf8
ため
私は、コマンドラインからのmysqlにログインして、私はまた、コマンドラインからmysqlのと同様に、Apacheを再読み込み ALTER DATABASE db CHARSET=utf8;
を走りました。物事は、MySQLで起こっているか見てみると は、ほとんどすべてが大丈夫になります。しかし、原因、UTF8ファイルを見つけることができませんmysqlのように思えるという事実のために、私は/usr/share/mysql/charsets/
フォルダにutf8.xml
ファイルをチェック
mysql> SHOW VARIABLES LIKE 'character_set%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| 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 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
と1つではありません。
Index.xml
このディレクトリのファイルには、文字セットのリストにutf8の記述がありますが、問題はxmlファイルがディレクトリに存在しないという事実から来ていると思います。
私のシステムのロケールはすべてUTF8(enとpl)であり、utf8.xmlファイルがディレクトリにない理由を理解できません。このディレクトリまたはそのコンテンツまったく。
どんなアイデア/アドバイス/推薦をも歓迎します。
ありがとうございます!
乾杯!
それはそれでした! Thanykあなたは非常に! –