【发布时间】:2016-12-31 15:51:48
【问题描述】:
我住在美国,想使用 cPanel 建立一个网站。我买了一个Latin1(英格兰)写的InstaWebsite(这应该是文件字符集列表中的一个选项)并且需要将它翻译成UTF-8。
我尝试导入文件“store database.text”,但没有任何反应,但创建了一个空文件(&Latin1 不是一个选项)。任何人都可以帮忙吗?有什么简单的解决方法吗?
我与在 InMotionHosting 上托管我的域的技术人员交谈。我他建议向你寻求帮助。我不知道如何编码。我还给我买这个的那个人发了一封电子邮件——他在英国,正在等待他的帮助。
这就是我尝试使用 UTF-8 导入时的结果:
SQL 查询:
CREATE TABLE `address_book` (
`address_book_id` INT( 11 ) NOT NULL AUTO_INCREMENT ,
`customers_id` INT( 11 ) NOT NULL DEFAULT '0',
`entry_gender` CHAR( 1 ) NOT NULL DEFAULT '',
`entry_company` VARCHAR( 32 ) DEFAULT NULL ,
`entry_firstname` VARCHAR( 32 ) NOT NULL DEFAULT '',
`entry_lastname` VARCHAR( 32 ) NOT NULL DEFAULT '',
`entry_street_address` VARCHAR( 64 ) NOT NULL DEFAULT '',
`entry_suburb` VARCHAR( 32 ) DEFAULT NULL ,
`entry_city` VARCHAR( 32 ) NOT NULL DEFAULT '',
`entry_state` VARCHAR( 32 ) DEFAULT NULL ,
`entry_postcode` VARCHAR( 10 ) NOT NULL DEFAULT '',
`entry_country_id` INT( 11 ) NOT NULL DEFAULT '0',
`entry_zone_id` INT( 11 ) NOT NULL DEFAULT '0',
PRIMARY KEY ( `address_book_id` ) ,
KEY `idx_address_book_customers_id` ( `customers_id` )
) TYPE = MYISAM AUTO_INCREMENT =100;
MySQL说:
1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册以获取正确的语法使用 在第 17 行的“TYPE=MyISAM AUTO_INCREMENT=100”附近
【问题讨论】:
-
你有非英文字符吗?比如重音欧洲字符?
-
你是如何进行“导入”的?字符集有问题吗?
-
你应该使用 InnoDB,而不是 MyISAM。
-
如果该网站设计为在 Latin-1 上运行,您不能只是“翻译”它。这就像试图让理发师在 125 伏电压下工作。但它应该按原样工作,因为 Latin-1 可以存储所有英文字符。但是你的错误与文本编码无关(谁告诉你的?)
标签: php mysql utf-8 iso-8859-1