2011-12-29 34 views
0

我試圖進入カテゴリ到MySQL,但我得到我無法進入日文字符到MySQL

1 row(s) affected. 
Warning: #1366 Incorrect string value: '\xE3\x82\xAB\xE3\x83\x86...' 
for column 'bloc_name' at row 1 

我改變了整理,以ujis_japanese_ci以下,但結果是一樣的。 任何人都可以建議如何解決這個問題嗎? 在此先感謝。

附加說明

我創造分貝這樣,

CREATE TABLE dtb_bloc (
device_type_id int NOT NULL, 
bloc_id int NOT NULL, 
bloc_name text, 
tpl_path text, 
filename varchar(50) NOT NULL, 
create_date timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, 
update_date timestamp NOT NULL, 
php_path text, 
deletable_flg smallint NOT NULL DEFAULT 1, 
PRIMARY KEY (device_type_id, bloc_id), 
UNIQUE (device_type_id, filename) 
) ENGINE=InnoDB; 

+++++++++++++++

附加說明:

我我正在使用MAMP,細節如下。

PHP建於達爾文sokada-macbook.local 10.8.0達爾文內核版本10.8.0:星期二6月16日16:32:41 PDT 2011;根:XNU-1504.15.3〜1/RELEASE_X86_64 x86_64的

數據庫版本5.5.9

數據庫歸類utf8_general_ci

PHP版本5.3.6

Web服務器的Apache/2.2.17(Unix的)了mod_ssl/2.2.17的OpenSSL/0.9.8r DAV/2 PHP/5.3.6

web服務器PHP界面apache2handler

+0

你的字符集是什麼? – 2011-12-29 09:01:17

+0

列'bloc_name'的確切類型是什麼? – 2011-12-29 09:03:32

+0

嗯,我發現它latin1。 – shin 2011-12-29 09:03:53

回答

1

排序規則僅影響排序,而不是哪些字符被允許進入以及如何存儲,哪些字符由字符集控制。請閱讀this chapter瞭解更多信息。你很可能會想「UJIS」或「SJIS」或「utf-8」:

CREATE DATABASE db_name CHARACTER SET ujis COLLATE ujis_japanese_ci; 

您可能還需要調用這是從客戶端的第一個命令;

SET NAMES ujis COLLATE ujis_japanese_ci