相关疑难解决方法(0)

UTF-8一路走来

我正在设置一个新服务器,并希望在我的Web应用程序中完全支持UTF-8.我过去曾在现有的服务器上尝试过此操作,但最终似乎不得不回归ISO-8859-1.

我在哪里需要设置编码/字符集?我知道我需要配置Apache,MySQL和PHP来执行此操作 - 是否有一些我可以遵循的标准清单,或者可能是在出现不匹配的地方进行故障排除?

这适用于运行MySQL 5,PHP,5和Apache 2的新Linux服务器.

php mysql linux apache utf-8

1146
推荐指数
13
解决办法
15万
查看次数

783
推荐指数
17
解决办法
54万
查看次数

对html <base>标签有什么建议?

我以前从未见过 实际使用过的<base>HTML标签.它的使用存在缺陷,这意味着我应该避免它吗?

事实上我从来没有注意到它在现代生产网站(或任何网站)上的使用让我对它持怀疑态度,尽管看起来它可能有用于简化我网站链接的有用应用程序.


编辑

使用基本标签几周后,我最终找到了使用基本标签的一些主要问题,这使得它比最初出现时更不可取.从本质上讲,变化href='#topic'href=''基本标签下是非常有它们的默认行为不兼容,并可以从默认行为,这种变化很容易使第三方库的控制范围之外的非常不可靠的 以意想不到的方式,因为它们在逻辑上依赖于默认行为.通常,这些更改是微妙的,并且在处理大型代码库时会导致不那么明显的问题.我已经创建了一个回答,详细说明了我在下面遇到的问题.因此,在您进行广泛部署之前,请自行测试链接结果<base>,这是我的新建议!

html base-tag contextpath

454
推荐指数
8
解决办法
15万
查看次数

HTML编码问题 - "Â"字符显示而不是"&nbsp;"

我有一个遗留应用程序只是开始行为不端,无论出于何种原因我不确定.它会生成一堆HTML,并由ActivePDF转换为PDF报告.

这个过程是这样的:

  1. 从DB中提取HTML模板,其中包含令牌(例如"~CompanyName~","~CustomerName~"等).
  2. 用真实数据替换令牌
  3. 使用简单的正则表达式函数整理HTML,该函数可以格式化HTML标记属性值(确保引号等,因为ActivePDF的渲染引擎只讨论属性值周围的单引号)
  4. 将HTML发送到创建PDF的Web服务.

在那个混乱的地方,HTML模板(&nbsp;s)中的不间断空格编码为ISO-8859-1,因此在浏览器(FireFox)中查看文档时它们会错误地显示为"Â"字符.ActivePDF会对这些非UTF8字符产生影响.

我的问题:既然我不知道问题出在哪里,也没有时间去研究它,是否有一种简单的方法可以重新编码或找到并替换坏字符?我已经尝试通过我扔在一起的这个小功能发送它,但它把它变成了gobbledegook并没有改变任何东西.

Private Shared Function ConvertToUTF8(ByVal html As String) As String
    Dim isoEncoding As Encoding = Encoding.GetEncoding("iso-8859-1")
    Dim source As Byte() = isoEncoding.GetBytes(html)
    Return Encoding.UTF8.GetString(Encoding.Convert(isoEncoding, Encoding.UTF8, source))
End Function
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

编辑:

我现在正在接受这个,虽然它似乎不是一个好的解决方案:

Private Shared Function ReplaceNonASCIIChars(ByVal html As String) As String
    Return Regex.Replace(html, "[^\u0000-\u007F]", "&nbsp;")
End Function
Run Code Online (Sandbox Code Playgroud)

html vb.net encoding utf-8 iso-8859-1

197
推荐指数
3
解决办法
43万
查看次数

在使用charset = utf-8的HTML文件中,我是否仍需要用&auml替换变音符号?

每当我使用了德国元音在过去一个HTML文件时,总是我被取而代之&auml;,&ouml;根据等这个表.

我当时不知道编码,也没想过.
我只是"知道",当我只想用ä,ö等等.相反,在其他国家的许多计算机将无法正确显示变音.

当我通过放入<meta charset="utf-8">标题将UTF-8编码的HTML文件的字符集设置为UTF-8时,是否仍然需要替换äby &auml;,öby &ouml;等等?

例如:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>ÄÖÜäöüß</title>
  </head>
  <body>
    ÄÖÜäöüß
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

当我将其保存在我的机器上的UTF-8编码的HTML文件中并在浏览器中查看时,所有的变音符都会正确显示.
但是我在德国,我机器上的所有东西都是德语,所以当然我的机器能够正确显示德国变形金刚.

我阅读了Joel的绝对最低每个软件开发人员,绝对必须知道Unicode和字符集(没有借口!),但这种编码对我来说是全新的.

根据我对编码,UTF-8和设置字符集的理解,我怀疑<meta charset="utf-8">在UTF-8编码的HTML文件中设置意味着我不再需要使用&auml;等等.
但我找不到一个明确说明的来源.

html html5 utf-8 character-encoding meta-tags

23
推荐指数
1
解决办法
4028
查看次数

如何修复"错误:在前512个字节后找到的元素上的字符集属性."

我在验证时为我的网站收到此错误.

Error: A charset attribute on a meta element found after the first 512 bytes.
Run Code Online (Sandbox Code Playgroud)

这是导致此问题的代码:

<!DOCTYPE html> 
<html class="not-ie no-js" lang="en-US" prefix="og: http://ogp.me/ns#"> 
<head>
<link rel="stylesheet" type="text/css" href="http://mywebsite.com.au/wp-content/cache/minify/000000/TY3RDsIgDEV_SFb5pAqVgLDWFTb79y6bWXw6ybk3OR4KdcHwgsZxVFLYckzUL97uoN0q7QyqUN6DFpueOAd78Gdqef4ta47EruifwhEzS0WjZfWH97CJSw1FcjdHqOYSc6rkdqdnaU_LdRHW7k79BQ.css" media="all" />
<script type="text/javascript" src="http://mywebsite.com.au/wp-content/cache/minify/000000/hY7RDsIgDEV_aFCXmCzxb5DVDQSKtDj164W5dx977rltV5F8ATDevPRCtAQ02bG2FHcGwV0Z_KNiecOoJz0eg44uac_DCTxDpBlLcp-ibWWh-KNPNyMpz10dztBWRkyiCuaw14exsSTGirpRiWoCl2yoM3JvH2d68l9mW1wWbpJHycbe-0s1tHDLS6GVvg.js"></script>
<script type="text/javascript" src="http://mywebsite.com.au/wp-content/cache/minify/000000/M9YvzdTPKixNLarUK83UK89MSU8t0cvNzAMA.js"></script>
<script type="text/javascript" src="http://mywebsite.com.au/wp-content/cache/minify/000000/ZY5BDsIwDAQ_RNIWxEt4gUkMuKRxsJPS8HpacahQLnuYnZW270btFAO6TDN9xED0BpcsYH6URe1E8dBvoqAmjn4H46ugVIugFO9msKemukF09cqLTeCef42rLqCFEJqNTiD5krcI5FEagZQzJ2z46EC4rMf3BoonTgEqyjw0g8zFPS5vSrieP9rzLriimacv.js"></script>
<meta charset="UTF-8">
Run Code Online (Sandbox Code Playgroud)

html w3c-validation

19
推荐指数
2
解决办法
3万
查看次数

为JavaScript启用UTF-8编码

我不知道应该如何标题这个问题,但希望我的朋友们能够理解这个问题并帮助我:)

我想使用JavaScript 函数以阿拉伯语显示日志消息alert(),我为此编写代码:

alert('???? ??? ????????');
Run Code Online (Sandbox Code Playgroud)

意思是

alert('Enter opening price');
Run Code Online (Sandbox Code Playgroud)

但是当我保存.js文件时Dreamweaver说 在此输入图像描述

如果我运行脚本浏览器说

在此输入图像描述

此页面包含

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Run Code Online (Sandbox Code Playgroud)

我在阿拉伯语中使用了很多文本,工作正常.

现在我如何使用不同语言的警报?

html javascript

17
推荐指数
4
解决办法
11万
查看次数

为什么我们需要HTML头中的元内容类型标记?

为什么我们需要像这样在HTML头中包含元内容类型标记?

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
Run Code Online (Sandbox Code Playgroud)

html content-type meta-tags

15
推荐指数
1
解决办法
1万
查看次数

如何在HTML中显示中文字符

我用中文创建了网页.当我使用Google Chrome浏览器查看该页面时,所有中文字符都已损坏.我是否必须在HTML页面中添加内容?

html

8
推荐指数
2
解决办法
4万
查看次数

meta charset windows-1252 vs UTF-8

我的HTML页面使用<meta charset="windows-1252">.

  1. 是否改为UTF-8推荐,为什么?
  2. 我检查了一些页面,UTF-8并用一些数学符号得到了问号.EG:x应更改为×以便正确显示.我尝试了CpConverter但它没有很好地转换所有符号.

有没有更好的方法来转换许多文件?

html fonts character-encoding meta-tags

7
推荐指数
1
解决办法
4万
查看次数