asp检查文件编码是不是utf8

asp检查文件编码是不是utf8,vbs检查文件编码,比网上流行的要准确。支持没有BOM头的文件,大多数utf8也没有这个

Function read(path)
    '将Byte()数组转成String字符串
    Dim ado, a(), i, n
    Set ado = CreateObject("ADODB.Stream")
    ado.Type = 1 : ado.Open
    ado.LoadFromFile path
    n = ado.Size - 1
    ReDim a(n)
    For i = 0 To n
        a(i) = ChrW(AscB(ado.Read(1)))
    Next
    read = Join(a, "")
End Function
Function is_valid_utf8(ByRef input) 'ByRef以提高效率
    Dim s, re
    Set re = New Regexp
    s = "[\xC0-\xDF]([^\x80-\xBF]|$)"
    s = s & "|[\xE0-\xEF].{0,1}([^\x80-\xBF]|$)"
    s = s & "|[\xF0-\xF7].{0,2}([^\x80-\xBF]|$)"
    s = s & "|[\xF8-\xFB].{0,3}([^\x80-\xBF]|$)"
    s = s & "|[\xFC-\xFD].{0,4}([^\x80-\xBF]|$)"
    s = s & "|[\xFE-\xFE].{0,5}([^\x80-\xBF]|$)"
    s = s & "|[\x00-\x7F][\x80-\xBF]"
    s = s & "|[\xC0-\xDF].[\x80-\xBF]"
    s = s & "|[\xE0-\xEF]..[\x80-\xBF]"
    s = s & "|[\xF0-\xF7]...[\x80-\xBF]"
    s = s & "|[\xF8-\xFB]....[\x80-\xBF]"
    s = s & "|[\xFC-\xFD].....[\x80-\xBF]"
    s = s & "|[\xFE-\xFE]......[\x80-\xBF]"
    s = s & "|^[\x80-\xBF]"
    re.Pattern = s
    is_valid_utf8 = (Not re.Test(input))
End Function

, , , , ,

自动检测目录下的文件的编码

这个脚本可以检测目录下所有文件编码,当您需要找到编码不一致的文件时很有用

, , , , , ,

ASP,VBS检测文件编码是gb2312还是utf8

WScript.Echo  CheckFileChar("D:\NewRoot\daili.com\default.asp")
function CheckFileChar(fullpath)
	set objstream=createobject("adodb.stream")
	objstream.Type=1 : objstream.mode=3
	objstream.open
	objstream.Position=0
	objstream.loadfromfile fullpath
	bintou=objstream.read(2)
	If AscB(MidB(bintou,1,1))=&HEF And AscB(MidB(bintou,2,1))=&HBB Then
		CheckFileChar="utf-8"
	ElseIf AscB(MidB(bintou,1,1))=&HFF And AscB(MidB(bintou,2,1))=&HFE Then
		CheckFileChar="unicode"
	Else
		CheckFileChar="gb2312"
	End If
	objstream.close : set objstream=nothing
end function

, , , , ,

Mysql命令方式导入导出时应指定编码

Mysql命令方式导入导出时应指定编码,这样不至于乱码,不要以为创建数据库时指定的编码是utf8,你手中的数据是gbk的,导入后会成乱码,那是你理解错了,我们导出时指定为gbk,然后导入时再指定就行了,也就是在-p密码命令后加这句 –default-character-set=xxx
导出示例:mysqldump -uroot -p123456 –default-character-set=gb2312 database>D:\back.sql
导入示例:mysql -uroot -p123456 –default-character-set=gb2312 database

, , , , ,