utf-8 相关问题

UTF-8是一种字符编码,它使用一到四个字节的字节序列来描述每个Unicode代码点。它向后兼容ASCII,同时仍支持所有Unicode代码点的表示。

将字符串编码为 UTF-8

我有一个带有“ñ”字符的字符串,但我遇到了一些问题。我需要将此字符串编码为 UTF-8 编码。我已经尝试过这种方式,但它不起作用: 字节 ptext[] = myString.get...

回答 12 投票 0

utf8_encode 或解码没有达到我的预期

我正在获取一个 XML 文件并将其读入各种字符串,然后写入数据库,但是我在处理德语字符时遇到困难。 XML 文件开始 我正在获取一个 XML 文件并将其读入各种字符串,然后写入数据库,但是我在处理德语字符时遇到困难。 XML 文件开始 <?xml version="1.0" encoding="UTF-8"?> 那么我遇到问题的一个例子就是这部分 <name><![CDATA[PONS Großwörterbuch Deutsch als Fremdsprache Android]]></name> 我的 PHP 有这个相关部分 $dom = new DOMDocument(); $domNode = $xmlReader->expand(); $element = $dom->appendChild($domNode); $domString = utf8_encode($dom->saveXML($element)); $product = new SimpleXMLElement($domString); //read in data $arr = $product->attributes(); $link_ident = $arr["id"]; $link_id = $platform . "" . $link_ident; $link_name = $product->name; 因此 $link_name 变为 PONS Groöwörterbuch Deutsch als Fremdsprache Android 然后我做了一个 $link_name = utf8_decode($link_name); 当我在终端回显时效果很好 PONS GroÃwörterbuch Deutsch als Fremdsprache Android as is now PONS Großwörterbuch Deutsch als Fremdsprache Android after utf8decode 但是,当它写入我的数据库时,它显示为: PONS Kompaktwörterbuch 德语-英语 (Android) MySQL 中 link_name 的排序规则是 utf8_general_ci 我应该如何做才能将其正确写入我的数据库? 这是我用来写入数据库的代码 $link_name = utf8_decode($link_name); $link_id = mysql_real_escape_string($link_id); $link_name = mysql_real_escape_string($link_name); $description = mysql_real_escape_string($description); $metadesc = mysql_real_escape_string($metadesc); $link_created = mysql_real_escape_string($link_created); $link_modified = mysql_real_escape_string($link_modified); $website = mysql_real_escape_string($website); $cost = mysql_real_escape_string($cost); $image_name = mysql_real_escape_string($image_name); $query = "REPLACE into jos_mt_links (link_id, link_name, alias, link_desc, user_id, link_published,link_approved, metadesc, link_created, link_modified, website, price) VALUES ('$link_id','$link_name','$link_name','$description','63','1','1','$metadesc','$link_created','$link_modified','$website','$cost')"; echo $link_name . " has been inserted "; 当我从 shell 运行它时,我看到了 PONS Kompaktwörterbuch Deutsch-Englisch (Android) has been inserted 您从 XML 文件中获得了一个 UTF-8 字符串,并将其放入 UTF-8 数据库中。因此不需要进行编码或解码,只需将原始字符串推入数据库即可。确保您首先使用 mysql_set_charset('utf-8') 告诉数据库有 UTF-8 字符串即将到来。 utf8_decode 和 utf8_encode 的命名具有误导性。它们“仅”用于 UTF-8 和 ISO-8859-1 编码之间的转换。调用 utf8_decode(它会转换为 ISO-8859-1),自然会丢失任何不适合该编码的字符。一般情况下,您应该避免使用这些功能,除非有特定的地方需要使用 8859-1。 当您回显字符串时,不应考虑终端显示的内容是确定的。终端有其自身的编码问题,尤其是在 Windows 下,可能无法正确输出每个字符。在西方 Windows 上安装系统代码页(终端将使用它来将 PHP 吐出的字节转换为字符以在屏幕上显示)将是代码页 1252,这与 ISO-8859-1 类似但不相同。这就是为什么输出 ISO-8859-1 的 utf8_decode 似乎使文本按您的预期显示。但这没什么用。在内部,您应该对所有字符串使用 UTF-8。 在写入数据库之前,您必须使用 mb_convert_encoding 或 iconv 函数。 “\u00d0\u009a\y00d0\u00be\u00d1\u0080\u00d0\u00b8\u00d1\y0081\u00d0\u00bd\u00d0\u00b8\u00d0\u00ba\u00d0\u00b0\u00d0\u00b f\u00d0\u00bb\u00d0\u00b8 \u00d0\u00ba\u00d0\u00b0\u00d1\u0086\u00d0\u00b8\u00d1u0p98\u00d0\u00b5

回答 3 投票 0

windows C++ 模拟表情符号输入到浏览器窗口 - 乱序字符

我正在使用 Visual Studio Community 2022 构建一个 Windows C++ 应用程序,该应用程序基本上尝试使用一种方法或另一种方法将文本文件中的一行复制粘贴到 Chrome 浏览器的文本字段中。 我哈...

回答 1 投票 0

读取不同编码的Rdata文件

我有一个 .RData 文件可以在我的 Linux (UTF-8) 计算机上读取,但我知道该文件采用 Latin1 格式,因为我自己在 Windows 上创建了它们。不幸的是,我无法访问原始文件或

回答 5 投票 0

尝试运行文件名中使用 unicode 字符的 .bat 文件 - 但无法解析

我正在尝试运行一个非常简单的bat文件,它本质上改变了目录/环境,然后使用streamlit来运行程序,但我一生都无法让它识别unicode

回答 1 投票 0

如何在pdf中使用UTF-8编码的字符向量?

尝试使用 intToUtf8 设置 pch= 将整数转换为 UTF-8 编码的字符向量。 (.pch <- c(intToUtf8(9675), intToUtf8(9679))) # [1] "○" "●" While it works fine fo...

回答 1 投票 0

Windows 控制台上的 UTF-8 输出

以下代码在我的计算机上显示了意外行为(在 Windows XP 上使用 Visual C++ 2008 SP1 和在 Windows 7 上使用 VS 2012 进行测试): #包括 #include“Windows.h” int main() {

回答 5 投票 0

为什么 Email::Stuffer base64 编码与 MIME::Base64 不同以及 utf8 如何适应?

我想用 Email::Stuffer 发送一封简单的电子邮件。正如预期的那样,它将带有非 ASCII 字符的标头编码为编码字。但是当我将它们解码回来时(无论是在我的邮件客户端还是在 Perl 中)...

回答 1 投票 0

在网页中使用 utf-8 无法正常工作

我有一个在表上使用 latin1_swedish_ci 排序规则的 mysql 数据库。 我将在网页上展示这些数据。 我试图在显示结果的网页上使用 charset=utf8,但它给了我...

回答 1 投票 0

如何循环遍历字符串并获取每个位置的字符(有些带有重音符号)且重音符号不分隔?

我必须获取字符串上每个字符的重音数量,因此我循环遍历 contenteditable= true 的 标签的文本字符,我无法比较一些重音 我必须获取字符串上每个字符的重音数量,因此我使用 <h2> 循环遍历 contenteditable= true 标签的文本字符,我无法将某些重音字符与中的字符进行比较重音数据库,因为它们被分为字符和重音,但其他一些重音字符被视为一个字符。 let Accents= { /*...*/ 'x': [ ["x", 0], ["́x́", 1], ["̂x̂", 2], ["ẍ", 2], ["̌x̌", 2], ["ẋ", 1], ["̧x̧", 1], // ["̱x̱", 1], ["̣x̣", 1], ["ᶍ", 2] ], /*...*/ } $("button").on("click", function(){ text= $(".text").text() for(e in text){ console.log(text[e]) } }) <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <h2 class= "text" contenteditable= "true">Lorem Ipx́um ẋ</h2> <button>Log each character</button> 如何才能像 x́一样在日志上获得 ẋ?,我需要这样做才能与口音数据库中的字符进行比较。预先感谢 在 Javascript 中,一些 Unicode 字符使用两个代码单元表示,特别是那些带有组合标记的代码单元,例如“x”后跟其重音符号。这些被称为“代理对”。要正确处理此类字符,您可以使用 JavaScript String.prototype[Symbol.iterator] 或带有数组的扩展运算符。 以下是如何修改代码以正确循环每个字素簇(包括基本字符及其组合标记): let Accents = { /*...*/ 'x': [ ["x", 0], ["́x́", 1], ["̂x̂", 2], ["ẍ", 2], ["̌x̌", 2], ["ẋ", 1], ["̧x̧", 1], // ["̱x̱", 1], ["̣x̣", 1], ["ᶍ", 2] ], /*...*/ } $("button").on("click", function(){ text = $(".text").text() // Use spread operator to break the string into individual grapheme clusters for(const char of [...text]){ console.log(char) } }); 现在,通过这种方法,x́ 和 ẋ 都将被视为循环中的单个字符。这将使您能够准确地将它们与口音数据库中的条目进行比较。

回答 1 投票 0

如何在 Windows 上将 UTF-8 字符串打印到 std::cout?

我正在用 C++ 编写一个跨平台应用程序。所有字符串均在内部进行 UTF-8 编码。考虑以下简化代码: #包括 #包括 int main() { ...

回答 0 投票 0

Laravel:以 UTF-8 编码 JSON 响应

我想将 API 的 JSON 响应编码为 UTF-8,但每次我做出响应时我不想这样做: 返回响应()->json($res,200,['Content-type'=>'application/json;charset=...

回答 3 投票 0

cmd 中的 UTF-8 无点 i

我有一个用utf-8编码的R脚本。在Rstudio中运行时,土耳其语字符没有问题。但是,当我尝试从 cmd 运行它时,它会抛出错误: 列 ÜrünAç...

回答 2 投票 0

忽略 CSV 中的 UTF-8 解码错误

我有一个 CSV 文件(我无法控制)。这是连接多个 CSV 文件的结果。该文件的大部分内容都是 UTF-8,但其中一个文件的字段经过编码...

回答 2 投票 0

PHP mb_detect_encoding 不再可靠地检测 UTF-8

我最近从 PHP 7 切换到 PHP 8.2.7,并注意到 mb_detect_encoding 似乎不再可靠地工作。我正在做以下事情: mb_detect_encoding(file_get_contents('somefile.csv'), 'UT...

回答 1 投票 0

utf8 的 UnicodeDecodeError,即使文件肯定是 utf8 编码的

我有一个 Fedora 上名为 ORCA 的程序的输出文件,我正在将其读入 python (3.10)。它是一个编码为“UTF-8”的纯文本文件。我知道这是因为我检查了 file -i

回答 1 投票 0

在打开的 NamedPipeClientStream 上重新创建 UTF-8 StreamWriter 会导致服务器上出现额外的 BOM 字符

我有一个保持打开状态的 NamedPipeServerStream 和一个保持打开状态的 NamedPipeClientStream。 NamedPipeServerStream 有一个保持打开状态的 UTF-8 StreamReader。 NamedPipeClientStream 有一个 UT...

回答 1 投票 0

防止将 BOM 添加到 UTF-8 SecureCRT 会话记录文件中

SecureCRT 似乎会向所有会话记录文件添加 BOM,无论选择哪种字符编码。当使用UTF-8时,SecureCRT生成一个带BOM的UTF-8文件而不是一个简单的U...

回答 1 投票 0

在这种情况下是 preg_replace 还是 mb_ereg_replace?

我有这个正则表达式用于匹配 Unicode 中的空格: /^[\pZ\pC]+|[\pZ\pC]+$/u 我什至不确定它的作用,但它似乎有效。现在,在这种情况下,哪个函数更适用,为什么? $s...

回答 2 投票 0

让自定义迭代器在 Rust 中通过 &String 工作

我目前正在努力实现一个迭代器,它分割给定的字符串并将子字符串作为迭代器返回。对于特殊字符,它将仅返回特殊字符 o...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.