问题标签 [utf-8]
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.
unicode - 在 vbscript 文件中键入双字节字符
我需要将 → (&rarr) 转换为可以键入 ANSI VBScript 文件的符号。我正在编写一个脚本,该脚本使用正则表达式将一组选定的 htmlcode 转换为其实际的双字节符号。许多语言使用“\0x8594;”来实现这一点……VBScript 中的等价物是什么?
java - 如何让 UTF-8 在 Java webapps 中工作?
我需要让 UTF-8 在我的 Java webapp(servlets + JSP,未使用框架)中工作,以支持äöå
常规芬兰文本和西里尔字母等ЦжФ
特殊情况。
我的设置如下:
- 开发环境:Windows XP
- 生产环境:Debian
使用的数据库:MySQL 5.x
用户主要使用 Firefox2,但也使用 Opera 9.x、FF3、IE7 和 Google Chrome 访问该站点。
如何做到这一点?
ruby - Ruby:如何将潜在的 unicode 字符串分解为字节
我正在编写一个游戏,它接受用户输入并将其呈现在屏幕上。我为此使用的引擎完全是 unicode 友好的,所以如果可能的话,我想保留它。问题是渲染循环看起来像这样:
我对 i18n 了解不多,但我知道上面的代码只会对我和说我的语言的人有用。我更喜欢这样的东西:
这是否存在于核心发行版中?我有点反对在安装中添加额外的要求,但如果这是唯一的方法,我会活下去。
为了更有趣,我无法知道该字符串是否实际上是一个 unicode 字符串。
编辑:我正在使用的库确实可以渲染整个字符串,但是我让用户编辑即时出现的内容 - 如果他们点击“退格”,基本上,我需要知道要砍掉多少字节结束.
c++ - TinyXML 的 UTF-8 支持如何工作?
我正在使用TinyXML来解析/构建 XML 文件。现在,根据文档,该库通过 UTF-8 支持多字节字符集。到目前为止,我认为很好。但是,该库提供的唯一 API(用于获取/设置元素名称、属性名称和值,......使用字符串的所有内容)是通过std::string
or const char*
。这让我怀疑自己对多字节字符集支持的理解。仅支持 8 位字符的字符串如何包含 16 位字符(除非它使用代码页,否则会否定“支持 Unicode”声明)?我了解您理论上可以采用 16 位代码点并将其拆分为 a 中的 2 个字符std::string
,但这不会改变std::string
对于“Unicode”字符串,它会使其在大多数用途中无效,并且在写入文件并被另一个程序读入时可能会意外工作。
那么,有人可以向我解释一个库如何提供“8 位接口”(std::string
或const char*
)并且仍然支持“Unicode”字符串吗?
(我可能在这里混淆了一些 Unicode 术语;对于由此产生的任何混淆,我深表歉意)。
c++ - UTF8 到/从 STL 中的宽字符转换
是否可以以独立于平台的方式将 std::string 中的 UTF8 字符串转换为 std::wstring ,反之亦然?在 Windows 应用程序中,我将使用 MultiByteToWideChar 和 WideCharToMultiByte。但是,代码是为多个操作系统编译的,我仅限于标准 C++ 库。
encoding - 如何在浏览器的文件下载框中显示非 ASCII 文件名?
似乎没有一种可接受的方式以非 ascii 格式发送标头参数。
文件下载的标头通常看起来像
内容配置:附件;文件名="theasciifilename.doc"
除非你在文件名参数中破坏了一个 utf8 编码的字符串,Firefox 会很好地处理它,而 IE 会抛出。
CodeProject 上有一个文档解释了对文件名进行编码的方法。
本文档通过十六进制编码字节将 Bản Kiểm Kê.doc 编码为 B%e1%ba%a3n%20Ki%e1%bb%83m%20K%c3%aa.doc。
问题 #1:该字符串中的第一个字符:ả 的值为 ả - 将该数字编码为十六进制,您会得到 %a3%1e。这家伙是怎么得到%e1%ba%a3的?(我显然在这里遗漏了一些简单的东西)
问题 #2:虽然 IE 承认这种编码,但 Firefox 不承认!该怎么办?
mysql - 将 UTF-8 编码的转储加载到 MySQL
昨天几个小时我一直在关注这个问题:
我在 MySQL 4.1.22 服务器上有一个数据库,其编码设置为“UTF-8 Unicode (utf8)”(由 phpMyAdmin 报告)。此数据库中的表的默认字符集设置为latin2。但是,使用它的 Web 应用程序(用 PHP 编写的 CMS Made Simple)以utf8 格式显示页面......
不管这可能是多么糟糕,它确实有效。Web 应用程序正确显示字符(主要使用捷克语和波兰语)。
我运行:“mysqldump -u xxx -p -h yyy dbname > dump.sql”。这给了我一个 SQL 脚本:
- 以UTF-8显示时,在任何编辑器(如 Notepad+)中看起来都很完美- 所有字符都正确显示
- 脚本中的所有表都将默认字符集设置为latin2
- 它有“/*!40101 SET NAMES latin2 */;” 开头的行(以及其他设置)
现在,我想将此数据库导出到在 MySQL 5.0.67 上运行的另一台服务器,服务器编码也设置为“UTF-8 Unicode (utf8)”。我复制了整个 CMS Made Simple 安装,复制了 dump.sql 脚本并运行“mysql -h ddd -u zzz -p dbname < dump.sql”。之后,在显示 CMSMS 网页时,所有字符都被打乱。
我尝试设置:
SET character_set_client = utf8;
SET character_set_connection = latin2;
所有组合(只是为了安全,即使它对我没有任何意义):latin2/utf8、latin2/latin2、utf8/utf8 等 - 无济于事。所有字符仍然打乱,但有时以不同的方式:)。
我还尝试在脚本中用 utf8 替换所有 latin2 设置(为表设置名称和默认字符集)。没有。
这里有没有 MySQL 专家可以用几句话来解释(我相信这毕竟很简单)整个编码的东西是如何工作的?我读了9.1.4。连接字符集和排序规则,但在那里没有发现任何帮助。
谢谢,马特
java - 为应用程序中的单个 Tapestry 4 页面设置 ISO-8859-1 编码,否则完全是 UTF-8
我有一个 Tapestry 应用程序将其页面作为 UTF-8 提供服务。也就是说,服务器响应具有标题:
现在在这个应用程序中有一个页面应该使用 ISO-8859-1 编码。也就是说,服务器响应应该有这个头:
这该怎么做?我不想更改整个应用程序的默认编码。
基于谷歌搜索,我尝试了以下操作:
但是使用 @Meta 注释设置这些值或覆盖 getOutputEncoding 方法都不起作用。
我正在使用 Tapestry 4.0.2。
编辑:我最终使用带有子类 HttpServletResposeWrapper 的 Servlet 过滤器来执行此操作。包装器覆盖 setContentType() 以强制响应所需的编码。
php - 如何在 PHP 中将 utf-8 字符串转换为 utf-16 字符串
如何在 PHP 中将 utf-8 字符串转换为 utf-16 字符串?
php - PHP:用 UTF-8 字符串中最接近的 7 位 ASCII 等效替换变音符号
我想要做的是从字符串中删除所有重音和变音符号,将“lärm”变成“larm”或“andré”变成“andre”。我试图做的是 utf8_decode 字符串,然后在其上使用 strtr,但由于我的源文件保存为 UTF-8 文件,我无法为所有变音符号输入 ISO-8859-15 字符 - 编辑器插入UTF-8 字符。
显然,解决这个问题的方法是包含一个 ISO-8859-15 文件,但必须有比拥有另一个必需的包含更好的方法吗?
更新:也许我对我尝试做的事情有点不准确:我实际上并不想删除变音符号,而是用最接近的“单字符 ASCII”等价物替换它们。