我正在使用java servlets。在我的數據庫中,一些字符串包含字符Å,Ä和Ö。當我檢查那些包含這些特殊字符的字符串時,它總是假的。我如何檢查一個字符串是否包含這些特殊字符。我正在使用Eclipse。提前致謝。如何檢查一個字符串是否包含java servlet中的Å,Ä或Ö字符?
回答
這些是擴展的ASCII字符。
byte[] data=new byte[1];
data[0]=(byte)197; 197 is for Å
String char1=new String(data,"ISO-8859-1");
您可以像上面那樣創建字符串「char1」,然後與目標字符串進行比較。
代碼四處查找:
for(int i=127;i < 256;i++)
{
byte[] char= new byte[1];
char[0]= (byte)i;
System.out.println("Data : "+char+","+
new String(char, "ISO-8859-1")+","+i); //'i' will give u code. 197 is for Å so on.
}
看到這個表,字符集由Java SE 6的支持:來源:http://docs.oracle.com/javase/6/docs/api/java/nio/charset/Charset.html
US-ASCII Seven-bit ASCII, a.k.a. ISO646-US, a.k.a. the Basic Latin block of the Unicode character set
ISO-8859-1 ISO Latin Alphabet No. 1, a.k.a. ISO-LATIN-1
UTF-8 Eight-bit UCS Transformation Format
UTF-16BE Sixteen-bit UCS Transformation Format, big-endian byte order
UTF-16LE Sixteen-bit UCS Transformation Format, little-endian byte order
UTF-16 Sixteen-bit UCS Transformation Format, byte order identified by an optional byte-order mark
這個答案如何回答OP問題? – Santosh
@Santosh我已經更新了我的答案! –
編碼輸入流必須是正確的。 Java字符串已經被編碼。看看下面的例子,當讀者使用inputString
工作得很好。但是如果外部輸入流字節需要編碼給閱讀器(因此java.lang.String
)。當你不傳遞任何東西時,Java使用依賴於運行時平臺的默認字符集。當你知道charset特定於應用程序時,你應該將它作爲參數傳遞。要小心,因爲某些字符集提供一個字節(ASCII
),有些提供一個或兩個字節(UTF8
),有些提供兩個字節(UTF16
)。
// String charset = "UTF-8";
// Reader inputReader = new InputStreamReader(new FileInputStream("xxxx"), charset);
String inputString = "Å, Ä or Ö";
StringReader stringReader = new StringReader(inputString);
Reader reader = stringReader;
int data = reader.read();
while (data != -1) {
char dataChar = (char) data;
int codeChar = (int) data;
System.out.println("char=" + dataChar + ", code=" + codeChar);
data = reader.read();
}
String toReplace = "Å";
String stringAfter = inputString.replace(toReplace, "B");
System.out.println(stringAfter);
// prints:
char=Å, code=197
char=,, code=44
char= , code=32
char=Ä, code=196
char= , code=32
char=o, code=111
char=r, code=114
char= , code=32
char=Ö, code=214
B, Ä or Ö
可以使用string.contains(S) method.See樣品;
String x = "aaa Å bbb";
if(x.contains("Å")){
System.out.println("OK");
}
- 1. 排序字符串數組包含Å,Ä和Ö - Swift
- 2. Java,如何檢查一個字符串是否包含數字?
- 3. 檢查字符串是否包含一個或多個字
- 4. 檢查一個字符串是否包含任何字符
- 5. Applescript:檢查一個字符串是否包含空字符串?
- 6. 如何檢查一個字符串是否包含來自Java中另一個字符串的字符?
- 7. Java - 查看一個字符串是否包含任何字符
- 8. Java:檢查字符串是否包含多個字符
- 9. 如何檢查字符串是否包含C#中的字符?
- 10. 如何檢查一個字符串是否包含一個子字符串 - mysql
- 11. 如何檢查字符串是否包含某個字符?
- 12. 如何檢查一個字符串是否包含任何一些字符串
- 13. 如何檢查一個字符串是否包含字典
- 14. 檢查一個List/ArrayList是否包含一個字符串的字符Java
- 15. 檢查字符串是否包含字符集中的字符
- 16. 檢查一個字符串是否只包含特殊字符
- 17. 檢查一個字符串是否包含給定字符
- 18. 檢查一個字符串是否包含特定字符
- 19. 檢查一個字符串是否只包含某些字符
- 20. Javascript - 如何檢查一個字符串是否包含多個子字符串
- 21. 如何檢查一個字符串是否至少包含另一個字符串中的一個字符?
- 22. 如何檢查一個字符串是否包含給定的子字符串?
- 23. 如何檢查一個字符串是否包含特定的子字符串
- 24. Flask_SQLAlchemy,MySQL,存儲瑞典字符å,ä,ö?
- 25. 如何檢查一個字符串是否包含在ArrayList中?
- 26. 檢查字符串是否包含字(不是子字符串!)
- 27. 檢查字符串中是否包含一組字符?
- 28. 如何檢查一個TextView是否包含某個字符串
- 29. 如何檢查一個字符串是否包含兩個相同的字符?
- 30. 的Java:如何檢查是否字符的字符串中包含
您是否正確地從數據庫中獲取字符串?即具有特殊字符? – JoeG
請張貼您的Servlet代碼的相關部分,以便我們可以看到您到目前爲止所嘗試的內容以及可能出錯的地方。 –
@JoeG我正在使用谷歌應用程序引擎進行數據存儲。在我看到的日誌中?而不是Å,Ä和Ö。但是,當我去數據存儲和檢查存儲的字符串,然後正確顯示Å,Ä和Ö。 – Piscean