9

文字セット セットを変更しましたが、機能しません

CREATE TABLE `tbl_hindi` (
  `data` varchar(1000) character set utf8 collate utf8_bin default NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
INSERT INTO `tbl_hindi` VALUES ('कंप्यूटर');
4

7 に答える 7

23

データベースの文字セットは である必要がありますutf8_unicode_ci

新しいデータベースと新しいテーブルを作成してみてください。

CREATE DATABASE hindi_test
    CHARACTER SET utf8
    COLLATE utf8_unicode_ci;

USE hindi_test;

CREATE TABLE `hindi` (
    `data` varchar(200) COLLATE utf8_unicode_ci NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

INSERT INTO `hindi` (`data`) VALUES
    ('कंप्यूटर');

これは私のインストールで動作します。うまくいかない場合は、サーバーの設定に問題がある可能性があります。

于 2012-07-02T12:08:46.823 に答える
7

データベースを変更する必要はありません。テーブルの列を変更するだけです。

ALTER TABLE `YOUR TABLE` CHANGE `data ` `data ` VARCHAR(1000) 
CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL; 

この変更はうまく機能し、非常に実現可能です。

于 2015-12-29T15:48:54.433 に答える
0

これを試して:

CREATE TABLE tbl_hindi (
    data nvarchar(1000),
);
INSERT INTO tbl_hindi VALUES (N'कंप्यूटर');
SELECT * FROM tbl_hindi;
于 2018-01-29T05:23:55.597 に答える
-2

この $sql="insert into indextbl Values('Null',N'$abc')"; のように、値の前に N を使用するだけです。

于 2015-08-27T12:30:01.083 に答える