相关疑难解决方法(0)

如何在mysql中插入utf-8 mb4字符(表情符号在ios5中)?

我使用的是mysql 5.5.10,它的character_sets是

| character_set_client     | utf8mb4                    |
| character_set_connection | utf8mb4                    |
| character_set_database   | utf8mb4                    |
| character_set_filesystem | binary                     |
| character_set_results    | utf8mb4                    |
| character_set_server     | utf8mb4                    |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
| collation_connection     | utf8mb4_general_ci         |
| collation_database       | utf8mb4_general_ci         |
| collation_server         | utf8mb4_general_ci         |
Run Code Online (Sandbox Code Playgroud)

我从utf8为iOS5的表情符号改变了utf8mb4.它们由4byte代码表示.

但当我插入3个笑脸表情符号时,'???' 在mysql中.

它们是3F 3F 3F(Hex).

我可以很好地存储iOS4的表情符号,但不能存储iOS5的表情符号.

我怎么能存储iOS5的表情符号?

请帮我.

mysql iphone ios5 utf8mb4

56
推荐指数
2
解决办法
8万
查看次数

MySQL不想存储unicode字符

为什么MySQL不存储unicode字符? Yes, it is a rare hieroglyph, you wouldn't see it in the browser.
UTF16 is U+2B5EE

Warning: #1366 Incorrect string value: '\xF0\xAB\x97\xAE' for column 'ch' at row 1
Run Code Online (Sandbox Code Playgroud)

是否可以在MySQL中存储此角色?

mysql unicode utf8mb4

15
推荐指数
1
解决办法
2364
查看次数

Mysql四字节汉字支持

我无法执行此SQL脚本:

INSERT INTO `mabase`.`new_table` (`idnew_table`, `name`) VALUES ('2', '');
Run Code Online (Sandbox Code Playgroud)

错误是:

错误1366:字符串值不正确:第1行的列'name'为'\ xF0\xA0\xBC\xAD'SQL语句:INSERT INTO mabase.new_table(idnew_table,name)VALUES('2','')

我的数据库和表格是在utf8字符集和utf8_general_ci排序规则中.我也试过:utf8_unicode_ci,utf8mb4_general_ci,bg5_cinese_ci,gbk_cinese_ci.

我在Windows上的MySql工作台上尝试了所有这些.

是四字节字符.我只和他们有问题.请告诉我如何在mysql中保存四个字节的字符.

mysql utf-8

8
推荐指数
1
解决办法
5710
查看次数

如何从字符串中删除表情符号字符?

我从移动设备获得了文本输入.它包含表情符号.在C#中,我将文本作为

Text  text
Run Code Online (Sandbox Code Playgroud)

简单地说,我想要输出文本

Text text
Run Code Online (Sandbox Code Playgroud)

我试图用rejex从文本中删除所有这样的表情符号..除了,我不知道如何将该表情符号转换为它的unicode序列..我该怎么做?

编辑:

我正在尝试将用户输入保存到mysql中.它看起来像mysql UTF8并不真正支持unicode字符,正确的方法是通过更改架构,但我认为这不是我的选择.所以我试图删除所有的表情符号字符,然后将其保存在数据库中.

这是我相关专栏的架构:

在此输入图像描述

我使用Nhibernate作为我的ORM,生成的插入查询如下所示:

Insert into `Content` (ContentTypeId, Comments, DateCreated) 
values (?p0, ?p1, ?p2);
?p0 = 4 [Type: Int32 (0)]. ?p1 = 'Text  text' [Type: String (20)], ?p2 = 19/01/2015 10:38:23 [Type: DateTime (0)]
Run Code Online (Sandbox Code Playgroud)

当我从日志中复制此查询并直接在mysql上运行时,我收到此错误:

1 warning(s): 1366 Incorrect string value: '\xF0\x9F\x98\x80 t...' for column 'Comments' at row 1   0.000 sec
Run Code Online (Sandbox Code Playgroud)

此外,我试图将其转换为编码字节,它并没有真正起作用..

在此输入图像描述

c# mysql unicode emoji

8
推荐指数
1
解决办法
1万
查看次数

java.sql.SQLException: 字符串值不正确:第 1 行的列 'tweetcontent' 的 '\xF0\x9F\x98\x8F'

我尝试将 twitter 提要保存在下表中的 mysql 数据库中

 CREATE TABLE `tweets` (
 `id` int(11) NOT NULL AUTO_INCREMENT,
 `tweetcontent` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
  PRIMARY KEY (`id`)
  ) ENGINE=InnoDB AUTO_INCREMENT=22 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
Run Code Online (Sandbox Code Playgroud)

但出现了以下错误

            java.sql.SQLException: Incorrect string value: '\xF0\x9F\x98\x8F'
                             for column  'tweetcontent' at row 1 
Run Code Online (Sandbox Code Playgroud)

有人可以帮我吗?

java mysql twitter

6
推荐指数
1
解决办法
8263
查看次数

从iPhone到Python/Django的表情符号

我正在尝试保存iPhone应用程序中的评论,这些评论可能现在很可能包含表情符号.无论我做什么,我都无法将表情符号保存到MySQL数据库......常量Unicode错误.

  • Python 2.6.5
  • Django 1.2.1
  • MySQL数据库(设置为表和行的utf8字符集)
  • 将数据保存到VARCHAR(255)字段

我一直收到的错误是:

Incorrect string value: '\xF0\x9F\x97\xBC \xF0...' for column 'body' at row 1
Run Code Online (Sandbox Code Playgroud)

我传入数据库的字符串是:

test_txt = u"Emoji - \U0001f5fc \U0001f60c \U0001f47b ...".encode('utf-8')
Run Code Online (Sandbox Code Playgroud)

更新:这是我正在使用的模型:

class ItemComment(db.Model):
  item = db.ForeignKey(Item)
  user = db.ForeignKey(Profile)
  body = db.CharField(max_length=255, blank=True, null=True)

  active = db.BooleanField(default=True)
  date_added = db.DateTimeField(auto_now_add=True)

  def __unicode__(self):
    return "%s" % (self.item)
Run Code Online (Sandbox Code Playgroud)

奇怪的是,如果我尝试将其传递给我在MySQL中创建的字段而不是Django models.py它可以正常工作.但是只要我在Django模型中注册该字段就会死掉.是否有其他方式来存储这些?

任何想法都会很棒.
我不能再坚持这个......

更新2:使用以下UPDATE语句在终端中跟踪它(注意U0001f5fc)

UPDATE 'table' SET 'body' = '', WHERE 'table'.'id' = 1 ; args=(u'\U0001f5fc')
Run Code Online (Sandbox Code Playgroud)

使用硬核,因为我可以传递值:

force_unicode(smart_str(value), encoding='utf-8', strings_only=False, errors='ignore') …
Run Code Online (Sandbox Code Playgroud)

python iphone django emoticons

5
推荐指数
1
解决办法
2236
查看次数

PHP和MySQL中的表情符号支持

我被要求为PHP API支持的APP启用表情符号支持.APP目前只有iPhone(我没有,但我假设它上面有Emoji?).

无论如何,我注意到数据库由于某种原因使用latin_swedish无处不在.但由于我不确定utf-8是否可以支持完整的表情符号范围所需的4字节字符串,所以我开始谷歌搜索,但无法从结果中得到完整答案.

所以:

  1. 要支持表情符号,请将charset/collat​​ion的需要设置为mysql中的utf-8,或utf-8 mb4?

  2. 如果charset需要设置为utf8mb4,utf8和utf8mb4之间的区别是什么(utf8最多支持4个字节不管怎么样?).它是否强制字符以固定宽度存储在4字节表示中(假设每个聊天节点需要多4倍的存储空间,即使在通常为1字节的标准ascii范围内).

  3. 可以在mysql查询中将utf8与utf8mb4进行比较吗?如果我尝试对另一个表的utf8列进行全文搜索或utf8mb4字符集的where子句怎么办?

  4. PHP是否支持4byte字符串而不必使用像mb_string这样的特殊库?即我可以只是分配$var = $_POST['text']和做类似的事情,$emoji_var == 'xxxx'或者我必须在字面上改变PHP中的所有字符串以使用mbstring并更改所有比较器等

只是想弄清楚在表情符号支持方面需要做多少工作,以及这样做的任何警告.所以任何帮助都会很棒.

php mysql utf-8 emoji

5
推荐指数
0
解决办法
3308
查看次数

标签 统计

mysql ×6

emoji ×2

iphone ×2

unicode ×2

utf-8 ×2

utf8mb4 ×2

c# ×1

django ×1

emoticons ×1

ios5 ×1

java ×1

php ×1

python ×1

twitter ×1