gpt4 book ai didi

php - mysql varchar with utf8mb4最大字符存储容量

转载 作者:行者123 更新时间:2023-11-29 11:33:10 24 4
gpt4 key购买 nike

我在 mysql 中为一个 varchar(8000) 字段使用 utf8mb4 创建了一张表。这是代码。

CREATE TABLE `tbl_content` (
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
`content` varchar(8000) CHARACTER SET utf8mb4 DEFAULT NULL,
`insdate` timestamp(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6),
PRIMARY KEY (`id`),
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;

以及一个用于在其中插入记录的存储过程,如下所示。

CREATE DEFINER=`ntadmin`@`%` PROCEDURE `nsp_channeldet`(
IN cContent VARCHAR(8000) CHARACTER SET utf8mb4
)
DETERMINISTIC
COMMENT 'content'
BEGIN
SET cContent = IF(cContent IS NOT NULL, TRIM(cContent), "");
INSERT INTO tbl_content (content)
VALUES (cContent);
END

我的调用方式如下。

CALL nsp_channeldet("content goes here");

一切正常。我想知道此列中如何存储字符(例如最大字符而不是字节)。如果某些用户使用区域语言或表情符号输入内容,何时应该出现警告(例如列数据被截断)

对于我的测试,我在字符串上创建了它,它显示长度为 10395。它插入表中没有任何警告。为什么???

这是字符串

ஒரு முதியவர் ஒரு.. ஹோட்டலுக்கு சாப்பிட சென்றார்..!
வெயிலில் வந்த களைப்பு.. அவர் முகத்தில் தெரிந்தது..! அவர் அங்கு ஓர் இடத்தில் அமர்ந்து சர்வரை.. அழைத்து கேட்டார்..! " தம்பி இங்கு சாப்பாடு என்ன விலை..! என்று..!
வெயிலில் வந்த களைப்பு.. அவர் முகத்தில் தெரிந்தது..! அவர் அங்கு ஓர் இடத்தில் அமர்ந்து சர்வரை.. அழைத்து கேட்டார்..! " தம்பி இங்கு சாப்பாடு என்ன விலை..! என்று..!
வெயிலில் வந்த களைப்பு.. அவர் முகத்தில் தெரிந்தது..! அவர் அங்கு ஓர் இடத்தில் அமர்ந்து சர்வரை.. அழைத்து கேட்டார்..! " தம்பி இங்கு சாப்பாடு என்ன விலை..! என்று..!
வெயிலில் வந்த களைப்பு.. அவர் முகத்தில் தெரிந்தது..! அவர் அங்கு ஓர் இடத்தில் அமர்ந்து சர்வரை.. அழைத்து கேட்டார்..! " தம்பி இங்கு சாப்பாடு என்ன விலை..! என்று..!
வெயிலில் வந்த களைப்பு.. அவர் முகத்தில் தெரிந்தது..! அவர் அங்கு ஓர் இடத்தில் அமர்ந்து சர்வரை.. அழைத்து கேட்டார்..! " தம்பி இங்கு சாப்பாடு என்ன விலை..! என்று..!
வெயிலில் வந்த களைப்பு.. அவர் முகத்தில் தெரிந்தது..! அவர் அங்கு ஓர் இடத்தில் அமர்ந்து சர்வரை.. அழைத்து கேட்டார்..! " தம்பி இங்கு சாப்பாடு என்ன விலை..! என்று..!
வெயிலில் வந்த களைப்பு.. அவர் முகத்தில் தெரிந்தது..! அவர் அங்கு ஓர் இடத்தில் அமர்ந்து சர்வரை.. அழைத்து கேட்டார்..! " தம்பி இங்கு சாப்பாடு என்ன விலை..! என்று..!
வெயிலில் வந்த களைப்பு.. அவர் முகத்தில் தெரிந்தது..! அவர் அங்கு ஓர் இடத்தில் அமர்ந்து சர்வரை.. அழைத்து கேட்டார்..! " தம்பி இங்கு சாப்பாடு என்ன விலை..! என்று..!
வெயிலில் வந்த களைப்பு.. அவர் முகத்தில் தெரிந்தது..! அவர் அங்கு ஓர் இடத்தில் அமர்ந்து சர்வரை.. அழைத்து கேட்டார்..! " தம்பி இங்கு சாப்பாடு என்ன விலை..! என்று..!
வெயிலில் வந்த களைப்பு.. அவர் முகத்தில் தெரிந்தது..! அவர் அங்கு ஓர் இடத்தில் அமர்ந்து சர்வரை.. அழைத்து கேட்டார்..! " தம்பி இங்கு சாப்பாடு என்ன விலை..! என்று..!
வெயிலில் வந்த களைப்பு.. அவர் முகத்தில் தெரிந்தது..! அவர் அங்கு ஓர் இடத்தில் அமர்ந்து சர்வரை.. அழைத்து கேட்டார்..! " தம்பி இங்கு சாப்பாடு என்ன விலை..! என்று..!
வெயிலில் வந்த களைப்பு.. அவர் முகத்தில் தெரிந்தது..! அவர் அங்கு ஓர் இடத்தில் அமர்ந்து சர்வரை.. அழைத்து கேட்டார்..! " தம்பி இங்கு சாப்பாடு என்ன விலை..! என்று..!
வெயிலில் வந்த களைப்பு.. அவர் முகத்தில் தெரிந்தது..! அவர் அங்கு ஓர் இடத்தில் அமர்ந்து சர்வரை.. அழைத்து கேட்டார்..! " தம்பி இங்கு சாப்பாடு என்ன விலை..! என்று..!
வெயிலில் வந்த களைப்பு.. அவர் முகத்தில் தெரிந்தது..! அவர் அங்கு ஓர் இடத்தில் அமர்ந்து சர்வரை.. அழைத்து கேட்டார்..! " தம்பி இங்கு சாப்பாடு என்ன விலை..! என்று..!
வெயிலில் வந்த களைப்பு.. அவர் முகத்தில் தெரிந்தது..! அவர் அங்கு ஓர் இடத்தில் அமர்ந்து சர்வரை.. அழைத்து கேட்டார்..! " தம்பி இங்கு சாப்பாடு என்ன விலை..! என்று..!
வெயிலில் வந்த களைப்பு.. அவர் முகத்தில் தெரிந்தது..! அவர் அங்கு ஓர் இடத்தில் அமர்ந்து சர்வரை.. அழைத்து கேட்டார்..! " தம்பி இங்கு சாப்பாடு என்ன விலை..! என்று..!
வெயிலில் வந்த களைப்பு.. அவர் முகத்தில் தெரிந்தது..! அவர் அங்கு ஓர் இடத்தில் அமர்ந்து சர்வரை.. அழைத்து கேட்டார்..! " தம்பி இங்கு சாப்பாடு என்ன விலை..! என்று..!
வெயிலில் வந்த களைப்பு.. அவர் முகத்தில் தெரிந்தது..! அவர் அங்கு ஓர் இடத்தில் அமர்ந்து சர்வரை.. அழைத்து கேட்டார்..! " தம்பி இங்கு சாப்பாடு என்ன விலை..! என்று..!
அதற்கு சர்வர் "50 ரூபாய்" என்றான்..!

பெரியவர் தனது சட்டை பைக்குள்.. கை விட்டு பார்த்து சர்வரிடம் கேட்டார்.. "தம்பி அதற்கும் சற்று.. குறைவாக சாப்பாடு கிடைக்காதா.."?

சர்வர் கோபமாக "யோவ் ஏன்யா இங்க வந்து எங்க உயிர எடுக்கிறிங்க..

இதை விட மலிவான ஹோட்டல் எவ்வளவோ.. இருக்கு அங்க போய் தொலைங்கயா..? என்றான்..!

பெரியவர் சொன்னார்.. "தம்பி தெரியாமல் இங்கு வந்துவிட்டேன்..

வெளியே வெயில் வேறு..அதிகமா இருக்கு.. நான் இனி வேறு ஹோட்டலுக்கு செல்வது சற்று சிரமம்..! என்றார்..!

சர்வர்.. சரி..சரி எவ்வோ பணம் குறைவா வச்சுயிருக்க..! என்று கேட்டான்..!

பெரியவர் என்னிடம் 45 ரூபாய் தான் இருக்கிறது..! என்றார்..!

சர்வர் சரி..தருகிறேன் ஆனால் உனக்கு தயிர் இல்லை சரியா..? என்றான்..!

பெரியவர் சரி என சம்மதித்தார்..!
பெரியவர் சரி என சம்மதித்தார்..!
பெரியவர் சரி என சம்மதித்தார்..!
பெரியவர் சரி என சம்மதித்தார்..!
பெரியவர் சரி என சம்மதித்தார்..!
பெரியவர் சரி என சம்மதித்தார்..!
பெரியவர் சரி என சம்மதித்தார்..!
பெரியவர் சரி என சம்மதித்தார்..!
பெரியவர் சரி என சம்மதித்தார்..!
பெரியவர் சரி என சம்மதித்தார்..!
பெரியவர் சரி என சம்மதித்தார்..!
பெரியவர் சரி என சம்மதித்தார்..!
பெரியவர் சரி என சம்மதித்தார்..!
பெரியவர் சரி என சம்மதித்தார்..!
சாப்பாடு கொடுத்தான்..! பெரியவர் சாப்பிட்டு விட்டு அந்த சர்வரிடம்
50 ரூபாய் கொடுத்தார்..!

最佳答案

8000 是最大字符数,而不是字节

泰米尔字符为 3 个字节。表情符号在 utf8mb4 中占 4 个字节。 “空格”为 1 个字节。

LENGTH(col) 给出字节数。 CHAR_LENGTH(col) 给出字符长度——在您的示例中,这将达到 8000。

    mysql> SELECT length('வெயிலில் வந்த களை'),
char_length('வெயிலில் வந்த களை')\G
*************************** 1. row ***************************
length('வெயிலில் வந்த களை'): 47
char_length('வெயிலில் வந்த களை'): 17
1 row in set (0.00 sec)

关于php - mysql varchar with utf8mb4最大字符存储容量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37066696/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com