问题从批处理文件中插入mysql表中的希伯来语

时间:2016-01-07 04:49:01

标签: mysql sql collation hebrew

当我运行sql脚本时,mysql表中的希伯来语数据似乎像"ÎíΣÎòÎæκÎÖÎö ,ÎÆ΃ ÎöÎóÎô΃ ήΣ ÎÉÎÖοÎòÎñÎö".

一样垃圾

表格排序在表格和数据库中是**utf8_general_ci**

这是我的sql脚本

CREATE TABLE IF NOT EXISTS `tbl_lang` (
  `name` varchar(250) NOT NULL,
  `hebrew` text
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

INSERT INTO `tbl_lang` (`name`, `hebrew`) VALUES
('Title', 'סלובקיה ,גן העדן של אירופה'),
('Form', 'טופס הצעת מחיר');

任何帮助将不胜感激。谢谢。

3 个答案:

答案 0 :(得分:0)

尝试将字符编码设置为utf8以及排序规则。

你可以从shell这样做:

ALTER TABLE Table CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;

答案 1 :(得分:0)

Mojibake - 可能

  • 客户端中的字节在utf8(正常)中正确编码。
  • 您可能默认与SET NAMES latin1(或set_charset('latin1')或...)相关联。 (应该是utf8。)
  • 表格中的列可能是CHARACTER SET utf8,也可能不是ÎíΣÎòÎæκÎÖÎö ,ÎÆ΃ ÎöÎóÎô΃ ήΣ ÎÉÎÖοÎòÎñÎö,但应该是这样。

为了获得Realm,不知何故涉及cp850。

答案 2 :(得分:0)

在您的批处理(.sh)作业中添加以下内容:

--default-character-set=hebrew

我运行以下.sh作业:

mysql -uMY_USER --password=MY_PASSWORD --database=MY_DB --default-character-set=hebrew < '/home/test1/public_html/my_files/my_updates.sql'

在my_updates.sql文件中,我具有希伯来语字符的更新命令:

UPDATE `GADI` SET `g_name`='אבגדהוזחטי' WHERE `g_id`=2;

并且只要我有-default-character-set = hebrew -表中的希伯来语就可以了。