jjzjj

c# - 为什么删除重音符号/变音符号时 Đ 没有变平为 D

我正在使用这种方法从我的字符串中删除重音符号:staticstringRemoveAccents(stringinput){stringnormalized=input.Normalize(NormalizationForm.FormKD);StringBuilderbuilder=newStringBuilder();foreach(charcinnormalized){if(char.GetUnicodeCategory(c)!=UnicodeCategory.NonSpacingMark){builder.Append(c);}}returnbuilder.ToString();

c# - 使用 .NET 如何将包含 Latin-1 重音字符的 ISO 8859-1 编码文本文件转换为 UTF-8

我正在发送保存在ISO88591-1中的文本文件包含来自Latin-1范围的重音字符(以及正常的ASCIIa-z等)的格式。如何将这些文件转换为UTF-8使用C#以便ISO8859-1中的单字节重音字符成为有效的UTF-8字符?我尝试使用带有ASCIIEncoding的StreamReader,然后通过实例化编码ascii和编码utf8然后使用将ASCII字符串转换为UTF-8Encoding.Convert(ascii,utf8,ascii.GetBytes(asciiString))—但重音字符呈现为问号。我错过了什么步骤? 最佳答案

javascript - 重音的奇怪长度为 "é"字符串返回 2

我有一个奇怪的问题,我无法解释。我正在尝试操作一个重音为“é”的字符串。此字符串来自输入文件类型的图像名称。我无法理解的是,为什么当我用重音字符解析时我的字符串被分成两个字符。这是一个更好理解的例子:我的é分为两个字符,例如e和́。"é".length=>2有没有可能涉及到utf8?我真的什么都不懂! 最佳答案 它们被称为CombiningDiacriticalMarks.它们是Unicode的“片段”……一些可组合的变音符号可以“链接”在任何字符上。显然,这种情况下字符串的长度是2(因为有e和'。像àéèìòù这样的预组合字符已被

javascript - jQuery DataTables - 重音不敏感的字母排序和搜索

使用jQueryDataTables时使用过滤器时是否可以进行不区分重音的搜索?例如,当我输入'e'字符时,我想搜索每个包含'e'或'é'、'è'的单词。我想到的是规范化字符串并将它们放入一个单独的隐藏列中,但这并不能解决按字母顺序排列的问题。编辑我尝试了以下方法:$.fn.dataTableExt.ofnSearch=function(data){return!data?'':typeofdata==='string'?data.replace(/\n/g,'').replace(/á/g,'a').replace(/é/g,'e').replace(/í/g,'i').replac

javascript - 在 Javascript 中基于语言环境的排序,以预定义的方式对重音字母和其他变体进行排序

在芬兰语中,我们将W排在V之后(与英语一样),但是因为W不是芬兰语的母语字母,所以它被认为是V的变体,它被排序为等于V,但在两个词之间唯一的区别是V是W,则V-版本先排序。一个例子阐明了正确的顺序:Vatanen,Watanen,Virtanen在芬兰语中,V和W整理为A和Á。Á的排序方式与A类似,但在唯一不同的情况下,未重音的排在第一位。同样的规则适用于所有其他重音字母,但Å、Ä和Ö在Z之后单独整理。问题:以预定义方式对变体进行排序的最佳算法是什么?(例如。[Watanen,Vatanen,Virtanen]到[Vatanen,Watanen,Virtanen])?补充:这个问题与扩

php - 当我的文本摘录的最后一个字有重音(奇怪的字符)时出现问题

我正在做一个搜索系统,在这个系统中我会显示搜索结果,但也会显示一些以搜索词开头的文本。但我有一个问题,我不知道如何解决它。问题是:当我搜索某个词时,我的文本excert的最后一个词有一个重音,最后一个词看起来很奇怪,或者我有这个“&”或�。你能帮我理解这里出了什么问题吗?我的问题代码:$search=$url[1];$read=$pdo->prepare("SELECT*FROMpagesWHEREtitleLIKE?ORcontentLIKE?LIMIT?,?");$read->bindValue(1,"%$search%",PDO::PARAM_STR);$read->bindVa

php - 获取重音 preg_match_all 语法 PHP

我有这个preg_match_all来获取主题标签:preg_match_all('/(^|[^a-z0-9_])#([a-z0-9_]+)/ui',$text,$matchedHashtags);它工作得很好,但如果发现一些强调就会停止:#hash//works#hash_hash//works#hash_não//getjust$hash_n我需要改变什么? 最佳答案 您可以使用Unicodecategory信件。\p{L}匹配来自所有Unicodescripts的字母(≅语言)。正则表达式:/(?regex101Demo另一种

php - 有没有办法将重音字符变成最接近的非重音字符?

我必须将“você-é-um-ás-da-aviação”之类的url转换为“voce-e-um-as-da-aviacao”,以使其在SERP上易于阅读。我可以使用通用替换,但我真的不喜欢列出每个字符,因为我觉得它很笨重,而且我想尽可能地将特定于语言的字符排除在源代码之外。这可能吗?可行吗? 最佳答案 functionurl_safe($string){$url=$string;setlocale(LC_ALL,'fr_FR');//changetotheoneofyourlanguage$url=iconv("UTF-8","A

使用数组的 php preg_replace - 具有重音字符的第一个或最后一个字母不起作用

在这个例子中,我有单词así,它以带重音的i字符结尾。$str="Astringcontainingthewordasíwhichshouldbechangedtocolorpurple";$prac[]="/\basí\b/i";$prac2[]="\$0";$str=preg_replace($prac,$prac2,$str);echo$str;它不会改变。但是,如果我有一个不以重音字符结尾或开头的单词,它确实会改变。例如:$str="Astringcontaininganotherwordwhichshouldbechangedtocolorpurple";$prac[]="/

PHP 字符编码 � 符号代替 à

您好,我在这个joomla网站的某些页面上遇到了一个非常奇怪的错误:http://www.pcsnet.it/news如果您查看特定新闻的详细信息,à字符会正确显示。其他重音字符似乎不受影响。我检查过MySql数据库中的默认UTF-8编码以及文本文件采用UTF-8编码。其他想法? 最佳答案 在您的案例中非常有趣的是它只影响字母à!所以这不可能是编码问题。这是我对您的问题的看法。字母à在utf8中以两个字节编码。第一个字节是xC3,即latin-1中的Ã,第二个字节是...不间断空格!(其他重音字母,例如è由Ã后跟latin-1中的其