顯示具有 utf8 標籤的文章。 顯示所有文章
顯示具有 utf8 標籤的文章。 顯示所有文章

2022/12/27

今天有人問個問題
需要創建大量目錄
但目錄名稱有簡体字
本來想說應該沒什麼
結果一跑才知道在dos模式utf-8顯示會有問題
而無法建立
所以批次檔要加上

chcp 65001

才行

範例如下

%echo off

chcp 65001

for /f %%a in (data) do (
    echo %%a
    md %%a
)


2019/04/23

為了因應window 7的大限
一直在處理相關的問題
最近處理到簡訊傳送
之前中華電信給了一個程式傳簡訊用的
從XP用到win 7都沒問題 但放到win 10上直接GG
詢問有沒有新的程式提供
只丟過來一份文件

https://www.emome.net/files/fckeditor/IMSP_SMS_Protocol_v3_0.pdf

沒法度 只好開始做工
就簡單講一下碰到的問題
一開始寫完後測試都沒問題
後來user反應不能傳
查了半天才發現是編碼的問題
程式是使用utf-8編碼
但windows預設還是使用big5  一直到win 10都是
所以只好改預設編碼了
再使用php來urlencode
好在直接有函數可以用

urlencode($string);

順便補充一下文件上說到如果有特殊字
建議使用utf-16be編碼
這時就要用到另一個函數

bin2hex(mb_convert_encoding($string, 'utf-16be', 'big-5'));

為了配合user都使用windows
目前就用big5吧
有問題再說

https://blog.longwin.com.tw/2011/06/php-html-unicode-convert-2011/

2016/03/05

最近把從mysql撈資料的程式用python改寫 之前是用php

改完後發生的第一個問題就是中文全變成了???

192.168.105.61 || 2016-03-04 00:05:05 || 2016-03-07 00:05:05 || Flow Checking ????????????(1368>????:700) to Deny this IP cannot access network

原因是從mysql撈出來時中文就亂了 所以不管之後怎麼轉碼 都沒有用了
所以必須在撈時就要指定編碼 加上下方紅色字部分

db = MySQLdb.connect(host="localhost", user="abc", passwd="pwd", db="test", charset='utf8')

但加完後網頁反而出不來了
再查了一下資料 說是要再指定sys的編碼 於是程式內必需再加入以下三行

import sys
reload(sys)
sys.setdefaultencoding('utf-8')

加完後之後的結果變成

192.168.105.61 || 2016-03-04 00:05:05 || 2016-03-07 00:05:05 || Flow Checking �訫�銝餅�����賊�蝬脰楝�輻�(1368>�𣂼��賊�:700) to Deny this IP cannot access network

看來中文有出來了 接下來是顯示的問題了 因為這個os比較久了 所以apache預設的編碼是設為big5 如果要去改會影響到其他東東 所以只能在程式加上指定編碼來處理了 比較新版本os的apache應該都預設為utf8了 應該不會碰到這個問題

print '<html>'
print '<head>'
print '<meta charset="UTF-8">'
print '</head>'
print '<body>'

print '</body>'
print '</html>'

網頁正常 搞定

192.168.105.61 || 2016-03-04 00:05:05 || 2016-03-07 00:05:05 || Flow Checking 違反主機連線數量網路政策(1368>限制數量:700) to Deny this IP cannot access network

完整程式碼如下

#!/usr/bin/python
# -*- coding: utf-8 -*-
print "Content-type: text/html"
print
# 引入 MySQL 模組
import MySQLdb
#引入 sys 並指定sys為utf-8編碼
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
# 連接 MySQL
db = MySQLdb.connect(host="localhost", user="abc", passwd="pwd", db="test", charset='utf8')
cursor = db.cursor()
# 執行 SQL
cursor.execute("select ip from table;")
result = cursor.fetchall()
# 輸出結果
a=0
for record in result:
        if (a%2)==1:
                print "<FONT  COLOR=FF0000>"
        else:
                print "<FONT  COLOR=000000>"

        print record[0]
        print "<br>"
        print "<br>"
        a=a+1
db.close()

2015/01/07

最近在把檔案由ubuntu傳到win上的ftp server時發生了一些問題 在中文檔名及空格上
因為我在win上是使用 Rainbow FTP-G 是有支援UTF-8的 但要手動打開 預設沒開


在文字介面使用ftp指令時 碰到中文檔名無法上傳
使用filezilla強迫使用UTF-8也無法上傳
最後是使用lftp才正常
指令如下

mirror -R

ftp指令還能理解
但filezilla就不是很能接受了

2012/10/01

之前更新了mldokney的版本之後
search的非英文檔名都沒問題
可是下載後全部變成 "_" (底線)
google了很多方法都沒用
最後是改了
.mldonkey裡的downloads.ini的
filenames_utf8 = true
(預設為false)
才搞定
執行user的LANG無需做任何更改