问题标签 [character-encoding]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
character-encoding - 如何在 SQLExpress 文本字段中插入中文字符?
如何在 SQLExpress 文本字段中插入中文字符?我正在使用 VS 2008 中的 SQL Express。当我通过我编写的导入应用程序或通过从 Visual Studio 中的数据视图粘贴它们来添加中文字符时,它们最终会变成问号。
perl - 如何确定字符串的字符集?
我有几个不同语言的文件。我以为它们都是 UTF-8 编码的,但现在我不太确定。有些角色看起来不错,有些则不然。有没有办法可以分解字符串并尝试识别字符集?也许在空白处分割然后识别每个单词?最后,有没有一种简单的方法可以将字符从一组转换为 UTF-8?
asp.net - 在 .Net http 处理程序中编码 au umlaut 时遇到问题
我有一个 JavaScript 请求到一个 ASP.Net (2.0) HTTP 处理程序,该处理程序将请求传递给一个 java web 服务。在此系统中,特殊字符(例如带有重音符号的字符)无法正确传递。
例如
- 人工输入:
Düsseldorf
- 成为一个 JavaScript 异步请求
http://site/serviceproxy.ashx?q=D%FCsseldorf
,据我所知,它在 ISO-8859-1 和 UTF-8 中都有效。(除非它是 UTF-8 中的 %c3%bc ) HttpContext.Current.Request.QueryString.Get("q")
返回D�sseldorf
这是麻烦开始的地方。- 但
HttpUtility.UrlEncode(HttpContext.Current.Request.QueryString.Get("q"), Encoding.GetEncoding("ISO-8859-1"))
返回D%3fsseldorf
(一个'?') - 并
HttpUtility.UrlEncode(HttpContext.Current.Request.QueryString.Get("q"), Encoding.UTF8)
返回D%ef%bfsseldorf
所以它的值没有被正确解码或重新编码以传递给java服务。
- 通知
HttpContext.Current.Request.Url.Query
是?q=D%FCsseldorf&output=json&from=1&to=10
- 虽然
HttpContext.Current.Request.QueryString.ToString()
是q=D%ufffdsseldorf&output=json&from=1&to=10
为什么会这样,我怎样才能告诉它HttpContext
尊重请求标头,其中包括:
QueryString
并使用 UTF-8 字符集解码 URL 。
附录:正如答案所指出的,问题不在于解码,而在于编码;using escape()
in JavaScript 不会根据 UTF-8 转义,而 usingencodeURIComponent()
会。
php - 从网站上刮下价格
我正在尝试使用 PHP 和正则表达式从网页中获取价格。价格格式为 123.12 英镑或 123.12 美元(即英镑或美元)。
我正在使用 libcurl 加载内容。然后其输出将进入preg_match_all
. 所以它看起来有点像这样:
到目前为止这么简单。问题是,PHP 根本不匹配任何东西——即使页面上有价格。我已将其范围缩小到“£”字符存在问题 - PHP 似乎不喜欢它。
我认为这可能是一个字符集问题。但无论我做什么,我似乎都无法让 PHP 匹配它!有人有想法么?
(编辑:我应该注意,如果我尝试使用使用相同的正则表达式和页面内容的正则表达式测试工具,它工作正常)
jquery - jQuery $.get() 没有设置标题时的回复字符集?
我最近刚刚安装了Winamp Song Requester,它是一个 Winamp 网络歌曲请求插件,内置了最小的 HTTP CGI 服务器。
该插件的作用是它运行一个 Web 服务器,提供一个带有一些特殊变量的 html 页面,它会根据请求(播放列表、请求队列、歌曲剩余时间等)替换为实际数据。
我认为这是学习一些 jQuery 的一个有趣且好的项目,所以我开始连接我自己的 js 代码来替换、修复和 ajaxify 来自插件的服务网站,但我现在遇到了字符编码的问题。
在页面上,您可以获得播放列表中所有歌曲的链接。当您单击其中一个链接时,我连接了我自己的 jQuery 单击功能。因此,当您请求一首歌曲时,我不会重新加载整个页面$.get($(this).attr('href', function(response) {... code ...})
,然后我使用 replaceWith 将当前队列替换为新生成的队列,并即时添加您的请求。我做同样的事情来显示/更新当前正在播放和搜索,以便在后台获取所有内容,然后动态替换为添加一些动画。
所有 jQuery/Ajax 都很好用,但我遇到的最大问题是字符集和队列/播放列表中的歌曲名称。名称中的特殊字符(åäöé 等)根本不起作用。
该插件以 iso-8859-1/latin1 输出所有内容,并且我在标记中的元标记告诉浏览器此页面是 latin1。在浏览器中正常的页面刷新时,效果很好,特殊字符正常显示。但是当我使用 jQuery 并动态$.get()
替换代码块时,特殊字符仅显示为?。
我认为问题在于如果没有标头另有说明,jQuery 默认认为$.get()
响应是 UTF-8。该插件根本没有为编码/字符集设置任何标头,因为我无法控制所有后端以及设置了哪些标头,所以我无法更改它。
我从插件的响应中得到的唯一标题是:
服务器:WinampServer
连接:关闭
内容类型:text/html
我希望你能理解我的问题。我有一个页面,我完全无法控制后端,我需要处理的只是生成的 HTML。我无法在回复中更改或添加标题。我需要告诉 jQuery 响应实际上是 latin1 而不是 UTF-8,这样特殊字符的编码就不会中断。我已经在 jQuerys ajaxSetup 中尝试了 scriptCharset: 'iso-8859-1' ,但这仅适用于 script/json 类型,并且我正在使用 HTML 响应。
知道这是否可能或您可以考虑的任何其他解决方法吗?
encoding - 编码问题经典ASP
我对经典 ASP 有疑问。当我使用XMLHttp.send
. 响应是一个 PDF 文件,但是“ÆØÅ”出错了,例如“Ø”被读作“øy”。这就像从 UTF-8 到 ISO-8859-1 的转换错误,但现在应该是 ISO-8859-1。我<%@CODEPAGE="28591"%>
在页面顶部和ISO-8859-1
XML 文件中的编码,我检查了文件,所以它是有效的 ISO-8859-1。我无权访问要发送此数据的服务器,但我将其修复在一个 VB6 程序中,该程序使用相同的逻辑:
在一个也使用相同逻辑的 C# 程序中
但是在 ASP 经典中,我需要一些帮助来找到将字符串的编码更改为 ISO-8859-1 的方法。
c++ - 在 C++ 源代码中使用 Unicode
C++源代码的标准编码是什么?C++ 标准是否对此有所说明?我可以用 Unicode 编写 C++ 源代码吗?
例如,我可以在评论中使用汉字等非ASCII字符吗?如果是这样,是否允许完整的 Unicode 或只是 Unicode 的子集?(例如,那个 16 位的首页或其他任何名称。)
此外,我可以将 Unicode 用于字符串吗?例如:
php - 即使我将字符集和排序规则设置为 utf8_unicode_ci,phpmyadmin 也会将日文字符显示为一堆问号
okee,我按照我可以在这里找到的所有说明进行操作
,我可以在我的页面上显示各种多语言字符...
问题是在 phpmyadmin 中,日文字符被问号替换,就像一堆???? ???
拼凑在一起的那样。我认为我的数据库的排序规则有问题,但我只是想在这里验证一下。
我们之前已经在默认排序规则上设置了这个数据库,latin_swedish_ci
并且它已经有很多数据。现在我们必须添加一些需要支持特殊字符的表,所以我绝对不能将数据库的排序规则设置为utf8
. 我的解决方案是utf8
仅在需要此类支持的表和我们期望包含特殊字符的特定列上使用。
但 phpmyadmin 仍然将它们显示为????
.
我的另一个问题是这些字段可以搜索吗?
我的意思是,如果该字段包含一些日文字符并且我输入sayuri
了关键字,日文字符是否会等同于它们用英语发音的音节?
html - 有一个倒置的插入符号吗?
我必须维护大量经典的 ASP 页面,其中许多具有根本没有排序功能的表格数据。原始开发人员在数据库查询中使用的任何顺序都是您所坚持的。
我想对这些页面进行一些基本的排序,并且我正在使用javascript进行所有客户端操作。我已经完成了在给定方向上对给定列上的给定表格进行排序的基本脚本,只要表格受到我们在此处遵循的某些约定的限制,它就可以很好地工作。
我想为 UI 做的只是用插入符号 ( ^
) 指示排序方向和......什么?是否有与插入符号直接相反的特殊字符?这封信v
不会完全消除它。或者,我可以使用其他字符配对吗?
asp.net - 显示国际文本
我希望创建一个 ASP.net 页面,该页面将具有 GridView 或 Repeater 之类的控件,并且要在此页面中显示的数据可以是 unicode 或 Utf-8 。我真的很难显示像希伯来语和一些亚洲语言这样的语言。
如何在 ASP.net 页面上显示任何类型的语言?我已尝试使用元标记选项和 <@ Page> 选项来设置编码,但它不起作用。我错过了什么??