0
私はMySQLサーバで作業していますが、一部のコンテンツにはčćšžのようなラテン文字が書かれていますが、何らかの理由でデータベースにčとćを格納できません。MySQLはすべてのUTF-8文字を認識しません
私が知る限り、これらの文字はutf8_general_ciに属している必要があります。
私は、ファイルをmy.cnfのためにこれを追加しました:
[mysqld]
init_connect='SET collation_connection = utf8_general_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_general_ci
skip-character-set-client-handshake
は、すべてのエンコーディングでこの絵を見てみましょう:私は、サーバーへの私のデータベースをインポートするSOURCEコマンドを使用
を。 SQLダンプの内容は次のとおりです。
SET NAMES utf8;
/*!40101 SET SQL_MODE=''*/;
/*!40014 SET @[email protected]@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @[email protected]@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @[email protected]@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @[email protected]@SQL_NOTES, SQL_NOTES=0 */;
CREATE DATABASE /*!32312 IF NOT EXISTS*/`horoskopium` DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
USE `horoskopium`;
/*Table structure for table `day` */
DROP TABLE IF EXISTS `day`;
CREATE TABLE `day` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`text` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=85 DEFAULT CHARSET=utf8;
/*Table structure for table `love` */
DROP TABLE IF EXISTS `love`;
CREATE TABLE `love` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`text` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=97 DEFAULT CHARSET=utf8;
/*Table structure for table `month` */
DROP TABLE IF EXISTS `month`;
CREATE TABLE `month` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`text` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=25 DEFAULT CHARSET=utf8;
/*Table structure for table `week` */
DROP TABLE IF EXISTS `week`;
CREATE TABLE `week` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`text` text,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=49 DEFAULT CHARSET=utf8;
/*!40101 SET [email protected]_SQL_MODE */;
/*!40014 SET [email protected]_FOREIGN_KEY_CHECKS */;
/*!40014 SET [email protected]_UNIQUE_CHECKS */;
/*!40111 SET [email protected]_SQL_NOTES */;
これをどのように解決できますか?